小程序开发:小程序的wxs的使用

1.为什么会使用到wxs:

        wxs是小程序的一种小程序的脚本语言,结合wxml可以构建页面的结构,其语法类似es5,不支持类似es6以上的语法形式,可以用wxs来编写过滤器;

// wxml中允许这样的书写方式
<view wx:if="{
   
   { role === 1 || role === 2 }}">个人中心</view>
// 涉及到es6的incluedes数组语法,在wxml中是不被允许使用的
<view wx:if="{
   
   { [1,2,3,4,5].incluedes(3) }}">个人中心</view>

  而且wxml中是不能使用函数的,但是如果你要在wxml的页面中使用函数的话,wxs可以做到

2.wxs的使用:

  可以直接在wxml中直接创建(类似于在html中写js),也可以在根目录下新建一个util存放,wxs文件后缀是 .wxs。在wxs文件中,直接声明函数就可以了,然后用module.exports导出(类似于单独写一个js文件,然后引入)

(1)书写方式

  • 编写在 wxml 文件中的 <wxs> 标签内
  • 编写在 以 .wxs 为后缀名的文件内

        每一个 .wxs 文件和 <wxs> 标签都是一个单独的模块。
        每个模块都有自己独立的作用域。即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见。
        一个模块要想对外暴露其内部的私有变量与函数,只能通过 module.exports 实现。

1、文件引入使用方法

文件名:xxx.wxs

var toHide = function (array) {
  var mphone = array.substring(0, 3) + '****' + array.substring(8);
  return mphone;
}
module.exports = {
  toHide,
};

使用引用:

<!-- page/index/index.wxml -->
<!-- module: 当前 <wxs> 标签的模块名。必填字段。 -->
<wxs src="./../xxx.wxs" module="tools" />
<view> {
   
   {phone.toHide(userInfo.tel)}} </view>

页面输出:

require函数

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

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

  • 只能引用 .wxs 文件模块,且必须使用相对路径。
  • wxs 模块均为单例,wxs 模块在第一次被引用时,会自动初始化为单例对象。多个页面,多个地方,多次引用,使用的都是同一个 wxs 模块对象。
  • 如果一个 wxs 模块在定义之后,一直没有被引用,则该模块不会被解析与运行。
var toHide = require("./tools.wxs");

2、在wxml页面中使用

wxml页面

<!-- 手机号和身份证号的明文加密 -->
<wxs module="phone">
  var toHide = function (array) {
    var mphone = array.substring(0, 3) + '****' + array.substring(8);
    return mphone;
  }
  module.exports.toHide = toHide;
</wxs>

<view class="user-info-item">
  <view>联系电话</view>
  <view>{
   
   {phone.toHide(userInfo.tel)}}</view>
</view>

注意:

  • WXS 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
  • WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致。
  • WXS 的运行环境和其他 JavaScript 代码是隔离的,WXS 中不能调用其他 JavaScript 文件中定义的函数,也不能调用小程序提供的API。
  • WXS 函数不能作为组件的事件回调。

猜你喜欢

转载自blog.csdn.net/qq_43641110/article/details/126946911
今日推荐