香蕉久久夜色精品升级完成,体验区试看120秒啪啪免费,无码人妻精品中文字幕免费东京热,无码a级毛片免费视频内谢,玩两个丰满老熟女久久网

首頁>新聞中心>小程序開發(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