首頁>新聞中心>小程序開發

        小程序開發的幾個實用技巧

        超級管理員 2023-04-17

        1. 列表渲染

        • 將wx:for代碼塊放入<block></block>中

          <block wx:for="{{books}}">
            <v-book  books="{{item}}" wx:key="item.id"></v-book></block>
        • 通過wx:for-item="itemName",小程序wx:for默認別名為item

          • 使用場景為:組件內部定義了item屬性,通過修改別名避免沖突

            <block wx:for="{{books}}" wx:for-item="itemName">
                    <v-book books="{{itemName}}" wx:key="itemName.id"></v-book>
                  </block>

        2.頁面page如何傳遞參數

        • 通過wx.navigateTo跳轉的頁面,參數會包含在onLoad方法的options里

          1682559775259.jpg

          // 組件跳轉前攜帶參數wx.navigateTo({
            url: `/pages/book-detail/book-detail?bid=${bid}`,})// 跳轉后的組件從onLoad生命周期里獲取參數

        3.三種小程序編譯模式

        • 普通編譯:每次編譯完打開首頁

        • 添加編譯模式:自己定義編譯模式,自定義啟動頁面

        • 通過二維碼編譯

        4.slot插槽的使用

        • slot插槽可以理解為組件的properites,只是slot傳入的是標簽

        • slot插槽使用分為三步:啟用slot,定義slot,使用slot

          • 組件中使用slot

            options:{
                multipleSlots: true}
          • 組件頁面定義slot插槽

            <slot name="nums">{{num}}</slot>
          • 頁面中使用插槽

            <v-tag text="{{item.content}}">
                      <text slot='nums'>{{'+'+item.nums}}</text></v-tag>
        • slot插槽的標簽樣式在頁面中設置

        5.外部樣式的概念-externalClass

        • 外部樣式externalClass使用(類似于插槽slot)

          • 在組件中定義externalClass外部樣式

              externalClasses: [
                'tag-class'
              ],
          • 在組件中使用

            <view class="container tag-class">
          • 在外部頁面傳入樣式

            // wxml<v-tag tag-class="ex-tag" text="{{item.content}}">// wxss.ex-tag{
                color:white;}
        • 外部樣式如何強制覆蓋普通樣式

          • 1.不要默認樣式,只用外部樣式

          • 2.使用外部樣式強制覆蓋普通樣式(!important)

          • 小程序中,外部傳入的樣式無法保證肯定能覆蓋掉組件的默認樣式,因為小程序沒有強制使用外部樣式覆蓋默認樣式的機制。解決辦法有兩種:

        6.讓wxml能夠解析&nbsp

        • 在頁面tag上開啟解析能力 decode ="{{true}}"

          <text class="content" decode="{{true}}">{{util.format(book.summary)}}</text>

        7.wxs概念與應用

        • 為什么用wxs

          • wxml無法調用js以及編寫js

          • 使用wxs實現過濾器的功能

        • 如何使用-以格式化文本為例(去掉多余的號)

          • 新建filter.wxs(wxs中只能使用var,不能使用const)

            var format = function (text) {
              if (!text) {
                return
              }
              var reg = getRegExp('\\n', 'g')
              return text.replace(reg, '
            ')}var getTag = function (index) {
              var tag = index == 0 ? 'ex-tag1' : '' || index == 1 ? 'ex-tag2' : ''
              return tag}module.exports = {
              format: format,
              gettag: getTag}
          • wxml頁面使用

            // 引入<wxs src="../../util/filter.wxs" module="util"></wxs>// 使用<text class="content">{{util.format(book.summary)}}</text>
          • 直接在wxml中編寫wxs代碼

            <wxs module="tools">
              var getTag = function (index) {
                if (index == 0) {
                  return 'ex-tag1'
                }
                if (index == 1) {
                  return 'ex-tag2'
                }
                
                return ''
              }
              module.exports={
                getTag: getTag  }</wxs>

        8.小程序的常用事件

        • 1.bind:tap事件

          • 用戶點擊觸發

        • 2.input專用bindconfirm事件

          • 輸入完點擊鍵盤上的完成按鈕時觸發

        9.常用toast

        • 彈出提示信息wx.showToast

          wx.showToast({
            title: comment + 1,
            icon: 'none'})
        • 加載提示wx.showLoading

          wx.showLoading()

        10.并行請求與串行請求

        • Promise.all()-將多個Promise實例合并成一個Promise

          Promise.all([detail, comments, likeStatus]).then(res => {
            wx.hideLoading()})
        • Promise.race()-相互競爭,多個Promise實例中最先完成的實例觸發

        —— 相關文章 ——

        公眾號

        關注公眾號

        微信咨詢

        企業微信號

        咨詢熱線

        咨詢熱線

        18689879222

        QQ咨詢

        咨詢QQ

        9010428

        亚洲欧美中文字幕| 国内精品无码一区二区三区 | 无码乱人伦一区二区亚洲一| 亚洲国产综合精品中文第一| 人妻少妇乱子伦无码视频专区 | 免费无码黄网站在线看| 中文字幕乱码无码人妻系列蜜桃| 熟妇无码乱子成人精品| 久久亚洲精品无码VA大香大香| 亚洲乱码中文字幕久久孕妇黑人 | 亚洲成a人无码av波多野按摩 | 亚洲中文字幕无码久久2017| 色噜噜狠狠成人中文综合| 国产精品三级在线观看无码| 蜜桃无码一区二区三区| 亚洲日韩欧美国产中文| 天堂中文在线最新版| 中文字幕久久精品无码| 日韩va中文字幕无码电影| 久久久无码精品午夜| 精品无码专区亚洲| 91精品久久久久久无码| 日韩免费无码视频一区二区三区 | 中文字幕免费在线| 久久久久成人精品无码中文字幕| 亚洲午夜AV无码专区在线播放| 国产精品无码永久免费888| 99国产精品无码| 成人无码视频97免费| 国产成人AV片无码免费| 国产精品久久久久无码av| av潮喷大喷水系列无码| 天码av无码一区二区三区四区| 免费无码黄十八禁网站在线观看 | 天码av无码一区二区三区四区| 国产精品无码免费播放| 久久青青草原亚洲av无码| 亚洲成?Ⅴ人在线观看无码| 中文字幕乱码人在线视频1区| 日韩欧美中文在线| 国产成人亚洲综合无码|