首頁>新聞中心>小程序開發(fā)

        小程序開發(fā)的幾個實用技巧

        超級管理員 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默認(rèn)別名為item

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

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

        2.頁面page如何傳遞參數(shù)

        • 通過wx.navigateTo跳轉(zhuǎn)的頁面,參數(shù)會包含在onLoad方法的options里

          1682559775259.jpg

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

        3.三種小程序編譯模式

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

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

        • 通過二維碼編譯

        4.slot插槽的使用

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

        • 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插槽的標(biāo)簽樣式在頁面中設(shè)置

        5.外部樣式的概念-externalClass

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

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

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

            <view class="container tag-class">
          • 在外部頁面?zhèn)魅霕邮?/p>

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

          • 1.不要默認(rèn)樣式,只用外部樣式

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

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

        6.讓wxml能夠解析&nbsp

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

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

        7.wxs概念與應(yīng)用

        • 為什么用wxs

          • wxml無法調(diào)用js以及編寫js

          • 使用wxs實現(xiàn)過濾器的功能

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

          • 新建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事件

          • 用戶點擊觸發(fā)

        • 2.input專用bindconfirm事件

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

        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實例中最先完成的實例觸發(fā)

        —— 相關(guān)文章 ——

        公眾號

        關(guān)注公眾號

        微信咨詢

        企業(yè)微信號

        咨詢熱線

        咨詢熱線

        18689879222

        QQ咨詢

        咨詢QQ

        9010428

        亚洲av永久无码精品古装片| 精品久久无码中文字幕| 无码精品一区二区三区在线| 五月天中文字幕mv在线| 少妇伦子伦精品无码STYLES| 大蕉久久伊人中文字幕| YW尤物AV无码国产在线观看 | 无码国产色欲XXXXX视频| 中文字幕一区一区三区| 亚洲一级Av无码毛片久久精品| 无码国产精品一区二区免费式芒果 | 久久久久精品国产亚洲AV无码 | 无码人妻精品一区二区蜜桃网站| 中文无码精品一区二区三区| 久久久久久亚洲AV无码专区| 内射人妻少妇无码一本一道| 波多野结衣在线aⅴ中文字幕不卡| 无码国模国产在线无码精品国产自在久国产 | 亚洲AV无码久久精品狠狠爱浪潮| 中文字幕一区二区三区久久网站 | 亚洲人成无码www久久久| 日韩精品人妻系列无码专区免费 | av无码播放一级毛片免费野外| 亚洲av无码一区二区乱子伦as| 中文字幕视频在线| 人妻无码αv中文字幕久久| 少妇人妻综合久久中文字幕 | 久久亚洲春色中文字幕久久久| 无码专区一va亚洲v专区在线| 久久午夜无码鲁丝片午夜精品| 国产午夜无码精品免费看 | 久久久无码精品午夜| (愛妃視頻)国产无码中文字幕| 精品无码人妻夜人多侵犯18| 久久精品中文字幕无码绿巨人 | 国产免费久久久久久无码| yy111111少妇影院里无码| 91精品久久久久久无码| 日韩乱码人妻无码中文视频 | 亚洲欧美日韩中文字幕在线不卡| 亚洲AV中文无码字幕色三|