微信小程序 - WXS

WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,能够构建出页面的结构。javascript

注意

  1. WXS 不依赖于运行时的基础库版本,能够在全部版本的小程序中运行。
  2. WXS 与 JavaScript 是不一样的语言,有本身的语法,并不和 JavaScript 一致。
  3. WXS 的运行环境和其余 JavaScript 代码是隔离的,WXS 中不能调用其余 JavaScript 文件中定义的函数,也不能调用小程序提供的API。
  4. WXS 函数不能做为组件的事件回调。
  5. 因为运行环境的差别,在 iOS 设备上小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍。在 android 设备上两者运行效率无差别。

WXS模块的代码能够编写在 wxml 文件中的 <wxs> 标签内,或以 .wxs 为后缀名的文件内。html

每个 .wxs 文件和 <wxs> 标签都是一个单独的模块。java

每一个模块都有本身独立的做用域。即在一个模块里面定义的变量与函数,默认为私有的,对其余模块不可见。android

一个模块要想对外暴露其内部的私有变量与函数,只能经过 module.exports 实现。小程序

<!--写在wxml里的wxs模块-->
<wxs module="m1">
    var msg = "hello world";
    module.exports.message = msg;
</wxs>

<view> {{m1.message}} </view>        
// wxs文件

var foo = "'hello world' from comm.wxs";
var bar = function(d) {
  return d;
}
module.exports = {
  foo: foo,
  bar: bar
};

module 对象

每一个 wxs 模块均有一个内置的 module 对象。exports: 经过该属性,能够对外共享本模块的私有变量与函数。api

require函数

.wxs模块中引用其余 wxs 文件模块,可使用 require 函数。函数

引用的时候,要注意以下几点:ui

  • 只能引用 .wxs 文件模块,且必须使用相对路径。
  • wxs 模块均为单例,wxs 模块在第一次被引用时,会自动初始化为单例对象。多个页面,多个地方,屡次引用,使用的都是同一个 wxs 模块对象。
  • 若是一个 wxs 模块在定义以后,一直没有被引用,则该模块不会被解析与运行。

一些语法和api和javascript同样。spa

转载自官方文档:https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/07basiclibrary.htmlcode

相关文章
相关标签/搜索