中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解微信小程序中的頁面代碼中的模板的封裝

發布時間:2020-09-06 15:53:19 來源:腳本之家 閱讀:185 作者:京雒塵 欄目:web開發

詳解微信小程序中的頁面代碼中的模板的封裝

    最近在進行微信小程序中的頁面開發,其實在c++或者說是js中都會出現這種情況,就是相同的代碼會反復出現,這就是進行一定的封裝,封裝的好處就是可以是程序中在于減少一定的代碼量,并且可是使代碼結構更加清晰。那今天所要記錄的就是關于微信小程序中的頁面的模板封裝。

         在微信小程序中的文件名都帶有wxml等樣式,在wxml中提供了模板,即可以在模板中定義代碼片段,然后可以在頁面中的不同位置進行調用,模板的定義:

<templatename="products">

<blockwx:for="{{productsData}}">

<view 
class="product-desc">

<view 
class="product-cun">有貨</view>

<view 
class="product-name">{{item.name}}</view>

<view 
class="product-price">¥{{item.price}}</view>

</view>

</block>

</template>

name主要就是給封裝好的模板進行命名,因為可能模板文件中不一定就只存在這一個模板,所以命名化可以方便區分哪個是要引入的模板。

wx:for就是微信小程序中的循環,里面就是要循環的數組數據,這個值是可以在引入模板的時候進行引入賦值的。

模板的導入:

<import src=""/>---要找到要引入的模板文件路徑,這里面的路徑寫相對路徑會很方便

模板的使用:

<template 
is="products" 
data="{{productsData}}"/>

is的作用就是在模板文件中選擇要使用的具體是哪個模板

data主要就是模板中要使用的數組數據

這里面就是出現一個問題,由于你的模板文件中的數組是寫死的,使用的是productData,那么在你引入模板之后對里面的數據進行賦值使用的時候可能會出現

VM1171:2 ./pages/theme/theme.wxml
 Bad attr 'data' with message
  6 |  </view>
  7 |  <view class="theme-products">
> 8 |   <template is="products" data="{{theme_products[themeid]}}"/> 
   |                 ^
  9 |  </view>
 10 | </view>
 11 |

像這種在模板中的數據被定義死的話,也是可以有解決辦法的,我所使用的辦法就是給已經被賦值好的數組進行重新賦值
可以在新的頁面js中對productsData數組進行空的初始化,然后在onLoad第一次進行頁面,進行加載頁面的時候給予賦值,data.kind_products是這個頁面要使用到的數組對象

1)js文件中的data{productsData:null}
2)第一次進入頁面的時候

onLoad: function (options) {
  this.setData({ productsData: this.data.kind_products[0]});
}

setData的作用就是用于將數據從邏輯層發送到視圖層也就是頁面上,同時改變this.data的值

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

根河市| 乌兰浩特市| 木兰县| 韩城市| 鄂托克旗| 高阳县| 肃北| 桃园市| 常德市| 营口市| 绥阳县| 河曲县| 冷水江市| 洛川县| 晋中市| 安丘市| 邯郸县| 高台县| 大方县| 四川省| 锦屏县| 彭山县| 谷城县| 许昌县| 岳阳市| 玉田县| 公安县| 克山县| 米易县| 营口市| 望谟县| 门源| 平和县| 密云县| 拉萨市| 金华市| 留坝县| 西盟| 石城县| 毕节市| 麻江县|