微信脚本

@WXS
WeiXin Script - 微信自己的脚本系统;类似JavaScript
WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致
通常作为过滤器使用:对渲染的数据进行额外处理,如格式定制、大小写转换
和Vue的计算属性功能差不多
采用ES5的语法,据说要被淘汰了。。。
更多信息,请查看 官方文档 - WXS
模块
WXS 代码可以编写在 wxml 文件中的 <wxs> 标签内,或以 .wxs 为后缀名的文件内
每一个 .wxs 文件和 <wxs> 标签都是一个单独的模块
每个模块都有自己独立的作用域。即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见
一个模块要想对外暴露其内部的私有变量与函数,只能通过 module.exports 实现
更多用来封装方法|函数:对数据2次处理,避免数据污染
一个模块只完成一个逻辑
模块名使用语义化,其中的方法可以任性
<wxs>
用于定义一个模块,包括 模块名称、模块内容、模块暴露的接口
也可以使用 src 引入其它模块文件
直接结构中编辑;仅适用当前页面
将变量 str 转换大写
<wxs module="toUpperCase">
    module.exports.fn = function (str) {
        return str.toUpperCase()
    }
</wxs>
<view>{{toUpperCase.fn(msg)}}</view>
            
.wxs
以文件的形式提供业务逻辑
文件名就是模块名
后缀名为 .wxs
更适合代码共享
将变量 str 转换大写
创建.wxs文件,编辑业务逻辑如下
// upperCase.wxs
module.exports.fn = function (str) {
    return str.toUpperCase()
}
在结构中使用属性 src 引入并指定模块名 module
<wxs src="../../utils/upperCase.wxs" module="upperCase"></wxs>
使用
<view>{{upperCase.fn(msg)}}</view>