小程序wxs模块化(二)

注意:WXS 代码可以编写在 wxml 文件中的 标签内,或以 .wxs 为后缀名的文件内。

再次强调wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。wxs的模块化和js的模块化是不一样的,那么wxs模块化是用来做什么的呢?比如可以写得到一个数组的最大值(上一节有提到),格式化时间日期等等就像vue的filter过滤器一样,当然js模块化也能做到。那么wxs相比js模块有什么优点呢?

  • WXS算是专供WXML调用的有独立作用域的JS模块
  • WXS可以实现WXML调用js方法的能力,而不只限于通过{{ }}渲染现成的数据
引用的时候
  • 只能引用 .wxs 文件模块,且必须使用相对路径。
  • wxs 模块均为单例,wxs 模块在第一次被引用时,会自动初始化为单例对象。多个页面,多个地方,多次引用,使用的都是同一个 wxs 模块对象。
  • 如果一个 wxs 模块在定义之后,一直没有被引用,则该模块不会被解析与运行。

三种引用方式

  • 第一节中用到的直接在wxml里面写wxs,给wxs定义module名字m1,根据名字m1.XX引用
  • 通过require引用,比如 tools跟wxs的module定义的名字m1一样,然后通过tools.XX引用
var tools = require("./tools.wxs");
  • 第三中引用有以上两种结合的意思,然后也是一样根据logic.XX引用

参考官网https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/01wxs-module.html

你可能感兴趣的:(小程序wxs模块化(二))