熟悉微信小程序开发框架的开发者,肯定会对其视图层WXML中缺失的一个功能耿耿于怀,那就是没有办法在视图层对数据进行格式化处理。随着微信开发者工具v1.0.0的释出,beta已久的微信小程序视图层的新功能特性WXS(WeiXin Script),也正式到来了。
WXS算是专供WXML调用的有独立作用域的JS模块(不是全功能的JS,感觉有所限制)。举个例子,在这之前,我们是没有办法在WXML的数据绑定括号{{}}中调用JS函数的,所以在WXML层面就缺少了进一步做数据处理的能力。
对比下嵌入WXS前后代码优化情况:
Page({
data: {
name: 一斤代码
},
testFunc: function (name) {
return Hello, + name
}
})
而有了WXS之后,我们就可以实现我们预期的功能了:
function testFunc(name) {
return Hello, + name
}
module.exports.testFunc = testFunc
// some-page.js
Page({
data: {
name: 一斤代码
}
})
WXS可以直接定义在wxml文件的标签体中,也可以写在独立的.wxs后缀名的文件中,然后在wxml文件中通过的形式引入。
如要要在WXS代码中去引用其他独立.wxs文件,可以通过 require()函数来引入,基本上都是我们熟悉的方式:
var formatUtil = require(./format-util.wxs);
var now = getDate()
formatUtil.formatDate(now)
所以,WXS在功能方面,并没有什么复杂的东西,唯一需要特别注意一些的,就是它的作用域了:
模块只能在定义模块的 WXML 文件中被访问到。特定的情况下模块不会被引入到对应的 WXML 文件中。
标签中,只能使用定义该的WXML文件中定义的模块。
推荐阅读:微信小程序自定义NavBar组件开发教程 微信小程序开发教程
参与讨论
发表评论