注意(来自官方文档)wxs不依赖于运行时的基础库版本,可以在所有版本的中运行。wxs与javascript是不同的语言,有自己的语法,并不和javascript一致。wxs的运行环境和其他javascript代码是隔离的,wxs中不能调用其他javascript文件中定义的函数,也不能调用小程序提供的API。wxs函数不能作为组件的事件回调。由于运行环境的差异,在iOS设备上小程序内的wxs会比javascript代码快2~20倍。在android设备上二者运行效率无差异。举个例子,在wxs出来之前,如果我们要连接一个数组的内容并显示在wxml中,我们需要通过循环连接数组的每一项:.wxml
viewblockwx:for="{{names}}"wx:key="item"{{item}}/block/view.js
Page({data:{names:['Tom','Peter','Gray','Lisa']},})或者先在js中连接好,放在data中,再显示在wxml中:.wxml
view{{content}}/view.js
Page({data:{content:"",names:['Tom','Peter','Gray','Lisa']},onLoad(options){letcontent=this.data.names.join("")this.setData({content})}})有了wxs后,我们可以直接在wxml完成:
.wxml
wxsmodule="util"varjoinArray=function(array){returnarray.join('')}module.exports={joinArray:joinArray}/wxsview{{util.joinArray(names)}}/view或者将工具函数保存为单独的文件,通过引入来使用:/src/wxs/common.wxs
varjoinArray=function(array){returnarray.join('')}module.exports={joinArray:joinArray}/pages/index/index.wxml
wxssrc="../../src/wxs/common.wxs"module="util"/view{{util.joinArray(names)}}/view引入的时候,wxs标签src填写相对路径(绝对路径无效),module指定名字。
我们也可以将页面中的一些常量放在wxs中:
varMAX_COUNT=19module.exports={MAX_COUNT:MAX_COUNT}总结:
WXS增强了wxml的功能,相当于页面中的脚本语言,我们可以将比如检查手机格式的函数放在wxs中来使用(根据是否正确来改变相应的样式),而不用跑到在js中去检查。需要注意的地方:
wxs目前似乎并不支持ES6(至少let不能使用)wxs文件不能被js文件引用。wxs文件能引用wxs文件。参考:
最新资讯
-

小程序制作平台选型踩坑记录:2026年五大主流方案横向对比
2026 年微信小程序月活达 10.7 亿、覆盖 108 个行业,本次横向对比即速应用、乔拓云、凡科、有赞、微盟五大主流平台,分三阶段给出选型结论,核心聚焦成本、扩展性、运营能力三大维度。 -

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。










