网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

一斤代碼解讀--小程序視圖層處理增強之WXS

發布時間:2017-12-29 18:17 所屬欄目:小程序開發教程

隨著微信開發者工具v1.0.0的釋出,beta已久的微信小程序視圖層的新功能特性WXS(WeiXin Script),也正式到來了。熟悉微信小程序開發框架的開發者,肯定會對其視圖層WXML中缺失的一個功能耿耿于懷,那就是沒有辦法在 ...

 
 
 

隨著微信開發者工具v1.0.0的釋出,beta已久的微信小程序視圖層的新功能特性WXS(WeiXin Script),也正式到來了。

熟悉微信小程序開發框架的開發者,肯定會對其視圖層WXML中缺失的一個功能耿耿于懷,那就是沒有辦法在視圖層對數據進行格式化處理。比如我們從后端獲取到一個包含了時間戳數據的數組,然后需要在界面上把這些日期都格式化顯示為2017-01-01這種格式的日期形式,在Vue, Angular之類的前端Web框架中,一般在視圖層都提供了如filter之類相應比較好用的方案。

而在現有的微信小程序代碼中?你能怎么做?估計我們的做法要么是在Page代碼中遍歷一次數組,做一下格式化;要么,只能讓后端返回已經格式化好的數據了。

對于追求程序代碼優雅的程序員來說,這簡直就是心中一個巨大的疙瘩!微信小程序團隊估計沒少受這方面的吐槽。因此,這次WXS的推出算是滿足了對這種需求的渴望吧。

WXS算是專供WXML調用的有獨立作用域的JS模塊(不是全功能的JS,感覺有所限制)。舉個例子,在這之前,我們是沒有辦法在WXML的數據綁定括號{{}}中調用JS函數的,所以在WXML層面就缺少了進一步做數據處理的能力。

下列代碼是不工作的:

 

			
  1. <!-- wxml文件 -->
  2. <view>{{testFunc(name)}}</view>
  3.  
  4. // some-page.js
  5. Page({
  6. data: {
  7. name: "一斤代碼"
  8. },
  9.  
  10. testFunc: function (name) {
  11. return "Hello," + name
  12. }
  13. })

而有了WXS之后,我們就可以實現我們預期的功能了:

 

			
  1. <!-- wxml文件 -->
  2. <view>{{myModule.testFunc(name)}}</view>
  3.  
  4. <wxs module="myModule">
  5. function testFunc(name) {
  6. return "Hello," + name
  7. }
  8. module.exports.testFunc = testFunc
  9. </wxs>
  10.  
  11. // some-page.js
  12. Page({
  13. data: {
  14. name: "一斤代碼"
  15. }
  16. })

WXS可以直接定義在wxml文件的標簽體中,也可以寫在獨立的.wxs后綴名的文件中,然后在wxml文件中通過的形式引入。

如要要在WXS代碼中去引用其他獨立.wxs文件,可以通過 require()函數來引入,基本上都是我們熟悉的方式:

 

			
  1. var formatUtil = require("./format-util.wxs");
  2. var now = getDate()
  3.  
  4. formatUtil.formatDate(now)

所以,WXS在功能方面,并沒有什么復雜的東西,唯一需要特別注意一些的,就是它的作用域了:

模塊只能在定義模塊的 WXML 文件中被訪問到。使用 或 時, 模塊不會被引入到對應的 WXML 文件中。

標簽中,只能使用定義該 的 WXML 文件中定義的 模塊。

趕緊去試試吧,看看你現有的代碼是不是有可以借助WXS來優化重構一下的地方。



易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/18315.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×