zoukankan      html  css  js  c++  java
  • 微信小程序wxml文件如何调用自定义函数

    目前在微信小程序的wxml里是不能像vue那样调用自定义方法的,如果想调用自定义方法,需要使用wxs写法。

    WXS脚本语言是 WeiXin Script 脚本语言的简称,是JavaScript、JSON、WXML、WXSS之后又一大小程序内部文件类型。截至到目前小程序已经提供了5种文件类型。

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

    模块

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

    每个模块都有自己独立的作用域。即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见。

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

    .wxs 文件

    在微信开发者工具里面,右键可以直接创建 .wxs 文件,在其中直接编写 WXS 脚本。

    示例代码:

    // /pages/comm.wxs
    
    var foo = "'hello world' from comm.wxs";  //这里不可以用ES6的let 
    var bar = function(d) {
      return d;
    }
    module.exports = {
      foo: foo,  //这里不支持ES6的对象简写方式
      bar: bar
    };
    

    上述例子在 /pages/comm.wxs 的文件里面编写了 WXS 代码。该 .wxs 文件可以被其他的 .wxs 文件 或 WXML 中的 <wxs> 标签引用。

    module 对象

    每个 wxs 模块均有一个内置的 module 对象。

    属性

    exports: 通过该属性,可以对外共享本模块的私有变量与函数。
    示例代码:

    
    // /pages/tools.wxs
    
    var foo = "'hello world' from tools.wxs";
    var bar = function (d) {
      return d;
    }
    module.exports = {
      FOO: foo,
      bar: bar,
    };
    module.exports.msg = "some msg";
    
    <!-- page/index/index.wxml -->
    
    <wxs src="./../tools.wxs" module="tools" />
    <view> {{tools.msg}} </view>
    <view> {{tools.bar(tools.FOO)}} </view>
    

    页面输出:

    some msg
    'hello world' from tools.wxs
    
    

    内嵌在wxml里

    
    <!--wxml-->
    <wxs module="foo">
    var some_msg = "hello world"; 
    module.exports = {    msg : some_msg, }
    </wxs>
    <view> {{foo.msg}} </view>
    
    
  • 相关阅读:
    Laravel 通知
    LARAVEL 6 + VUE + SEMANTIC UI
    Laravel 从入门到精通教程【预备篇、基础篇】
    Laravel Vue.js 聊天室
    GIT代码管理: git remote add 【转载】
    Laravel Vuejs 实战:开发知乎 (45-47)用户设置
    Laravel Vuejs 实战:开发知乎 (42-44)用户头像
    如何在运行时更改JMeter的负载
    Jmeter Grafana Influxdb 环境搭建
    实时结果
  • 原文地址:https://www.cnblogs.com/jiaoshou/p/13885626.html
Copyright © 2011-2022 走看看