文章链接:https://mp.weixin.qq.com/s/F1zzS7mvMpFaplq4KINzQg

之前做过一段时间的小程序开发,自己也写过两个自己的小程序,了解些前端的知识,相对而言还是比较容易上手的,小程序的视图采用wxmlwxss 编写,对比前端就是htmlcsswxmlhtml 类似是描绘页面结构的,小程序有一套自己的标签,而大部分前端的css样式都可以用在 wxss里面。关于数据绑定部分,小程序使用 Mustache 语法(双大括号) 进行绑定。这里要讲的是wxs ,小程序自己的一套脚本语言,可以用于渲染页面。

一个简单的例子,新建一个a.wxml 文件,代码如下:

<wxs module="a">
var str = "qwerty"
module.exports.txt = str
</wxs> <view>
{{a.txt}}
</view>

这里wxs 代码直接编写在wxml文件内,定义wxs 的module名为a,这个参数是必须的;通过 exports暴露对外的属性,外部使用的话,直接通过module名调用属性值。

当然,wxs代码也可以写在以.wxs 为后缀名的文件内a.wxs ,里面直接编写代码:

var str = "qwerty"
module.exports.txt = str

使用的话,在a.wxml 文件内同样需要使用 标签,并且定义module 名,注意src 使用相对路径引入wxs文件:

<wxs src="./index.wxs" module="a"/>
<view>
{{a.txt}}
</view>

这里推荐使用以 .wxs 为后缀名来封装代码,这样便于其他文件通用。

同时,在.wxs模块中可以引用其他 wxs 文件模块,注意这里只能以文件的形式引用,通过require 引用文件相对路径。

//编写 b.wxs文件
var str = "123456"
module.exports.txt = str //wxs 代码直接编写在 wxml文件内
<wxs module="a">
//通过require 引用 b.wxs文件
var b = require("./b.wxs")
var str = "qwerty"
module.exports.txt = b.txt
</wxs> <view>
{{a.txt}}
</view> ------------------------------------------ //在 a.wxs 里引用 b.wxs
var b = require("./b.wxs")
var str = "qwerty"
module.exports.txt = b.txt //a.wxml 里引入 a.wxs
<wxs module="a" src="./index.wxs"/>
<view>
{{a.txt}}
</view>

同样wxs 还可以对外暴露方法,

<wxs module="a">
var add = function(i, j) {
return i + j
}
module.exports.add = add
</wxs> <view>
{{a.add(1,2)}}
</view>

这样我们可以通过编写wxs,对data 数据进行处理,渲染到view层。

实际项目中,通过wxs 可以简化代码,更加具有通用性。

欢迎关注我的个人博客:https://www.manjiexiang.cn/

更多精彩欢迎关注微信号:春风十里不如认识你

一起学习,一起进步,欢迎上车,有问题随时联系,一起解决!!!

小程序使用之WXS的更多相关文章

  1. 小程序脚本语言WXS详解

    WXS脚本语言是 Weixin Script脚本的简称,是JS.JSON.WXML.WXSS之后又一大小程序内部文件类型.截至到目前小程序已经提供了5种文件类型. 解构小程序的几种方式,其中一种方式就 ...

  2. 小程序脚本语言WXS,你想要的都在这里了

    WXS脚本语言是 Weixin Script脚本的简称,是JS.JSON.WXML.WXSS之后又一大小程序内部文件类型.截至到目前小程序已经提供了5种文件类型. 解构小程序的几种方式,其中一种方式就 ...

  3. 小程序列表倒计时 wxs 实现

    效果 代码 js //拿到服务器时间 var serverLocalDate = data.serverLocalDate; //调用函数开始计时 this.serverLocalDate(serve ...

  4. 【小程序】wxs使用

    wxs使用 WXS(WeiXin Script)是小程序的一套脚本语言,结合WXML,可以构建出页面的结构. wxs可以说就是为了满足能在页面中使用js存在的,在wxml页面中,只能在插值{{ }}中 ...

  5. 微信小程序开发---视图层(View)

    WXML WXML能力: 数据绑定 列表渲染 条件渲染 模板 事件 数据绑定 数据绑定使用 Mustache 语法(双大括号)将变量包起来,可作用于内容,组件属性(需要在双引号之内),控制属性(需要在 ...

  6. 微信小程序wxml文件中调用自定义函数

    想在微信小程序的wxml文件里自如的像vue那样调用自定义的方法,发现并不成功,得利用WXS脚本语言. WXS脚本语言是 WeiXin Script 脚本语言的简称,是JavaScript.JSON. ...

  7. 微信小程序学习指南

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  8. 小程序框架之视图层 View

    (1)视图层View 框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示. 将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层. WXML(WeiXin Markup languag ...

  9. 微信小程序开发-框架

    小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务.框架提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框 ...

随机推荐

  1. 【Android Studio安装部署系列】目录

    概述 从刚开始使用Android Studio到现在,下面所有目录下的操作,当时习惯性的把每一个整理成一个文档(其实就是简单文字描述+截图):有些地方当时是一知半解,现在会稍微明白一些.正好赶上现在有 ...

  2. java游戏开发杂谈 - 游戏编程浅析

    每个游戏,你所看到的它的一切,都是计算机画出来的! 地图是画出来,人物是画出来的,树木建筑是画出来的,菜单按钮是画出来的,滚动的文字.闪烁的图标.云雾烟火,都是画出来的. 游戏编程,所要做的,就是控制 ...

  3. 工厂模式讲解, 引入Spring IOC

    目录 引入 简单工厂 抽象工厂 Spring的bean工厂 模拟Spring工厂实现 模拟IOC 引入 假设有一个司机, 需要到某个城市, 于是我们给他一辆汽车 public class Demo { ...

  4. 如何使用JS来开发室内地图商场停车场车位管理系统

    在线体验到室内地图的功能后,手机对室内地图加载一个字,要显示“快”,目前微信和电脑都可以打开室内地图的要求是3秒内打开,能有定位导航的功能最好,这样方便找到要去的地方. 对于经常逛商场的MM来说,哪里 ...

  5. 六大设计原则(一)SRP单一职责原则

    单一职责原则SRP(Single reponsibility principle) BO(Business Object):业务对象 Biz(Business Logic):业务逻辑 SRP最简单的例 ...

  6. 给WEB初学者一些有效率的建议

    因为IT互联网发展的非常迅速,而web前端这块很火,目前工资水平给的很高,在市场上也是非常的稀缺人才,现在各个行业转行做web前端的很多,今天给大家一些建议,希望新手少走点弯路吧! 建议一:有一个比较 ...

  7. Windows提示 错误: RPC 服务器不可用 解决方法。

    试验环境: 本地主机:win10  ip:192.168.0.10 远程主机: win2008 R2   ip:192.168.1.128 我想要通过systeminfo去获取远程主机的系统信息,但是 ...

  8. LeetCode算法题-Toeplitz Matrix(Java实现)

    这是悦乐书的第312次更新,第333篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第181题(顺位题号是766).如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是 ...

  9. Linux2:Linux目录结构

    Linux目录图 进入根目录,使用ll命令看一下Linux整个根目录图: 这里面所有的目录都是买完服务器之后最初始的目录,没有进过任何加工.Linux以树的结构组织所有目录,用一张图表示一下Linux ...

  10. 《ECMAScript6入门》___阮一峰 笔记

    let和const命令 let命令 循环体的let变量只对花括号作用域可见,花括号外不可见 循环体的语句部分是一个父作用域,而循环体内部是一个单独的子作用域 let声明的变量不存在变量提升,未声明的使 ...