uni-app入门:wxs基本使用

简介: wxs(weixin script),是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。可以编写在 wxml 文件中的 标签内,或以 .wxs 为后缀名的文件内.

1.wxs相关介绍


    wxs(weixin script),是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。可以编写在 wxml 文件中的 标签内,或以 .wxs 为后缀名的文件内.

主要作用相当于“过滤器”,是用于数据从逻辑层传递到页面层在渲染之前做额外处理.如何在视图层进行渲染之前对数据进行额外处理,两个案例进行说明.

   案例开始之前先说下 标签的两个属性:

   module用于指定模块名,保证模块名唯一。

   src用于指定.wxs文件与 标签所在wxml中所在相对路径地址,一般用于.wxs外联样式中使用.


2.wxs标签内嵌在wxml中使用


   案例实现目的:将逻辑层定义的小写字符串在视图层渲染之前完成大写转化.

   index.js中创建msg信息:


Page({
  data:{
    msg: 'jinan'
  }
  })


   index.wxml中创建wxs标签并定义字符串大写转化的函数:

<wxs module="strToUppperModule">
    module.exports.strToUppper=function(str){
        // 字符串大写处理
        return str.toUpperCase()
    }
</wxs>
<view>
    {{strToUppperModule.strToUppper(msg)}}
</view>


module.exports可以理解为将自定义的函数暴露出来供其他地方调用。

wxs中定义的函数调用方式:

wxs标签module名.自定义函数(参数)


页面展示结果:

9404b40b98eb9ae6717ce47689cfa5ba_20da7aa40a744865bfc6132e1f95150f.png


3.在.wxs文件中外联使用


   案例实现目的:将逻辑层的大写字符串在视图层渲染之前完成小写转化.

index.js中初始化msg值:

Page({
  data:{
    msg: 'JINAN'
  }
  })


   index.wxs中自定义小写转化函数:

function strToLower(str){
    return str.toLowerCase()
}
 module.exports.strToLower=function(str){
     return str.toLowerCase()
 }


   关于module.exports函数暴露也可以简化成如下:

function strToLower(str){
    return str.toLowerCase()
}
module.exports={
    // 字符串小写
    strToLower: strToLower
}


   index.wxml中wxs标签使用src引入.wxs文件:

<wxs module="strToLowerModule" src="../index/index.wxs"></wxs>
<view>
    {{strToLowerModule.strToLower(msg)}}
</view>


页面展示结果如下:

f2297a7234ad29f2042859d86c8780df_665aee5b1ee14456b333482af81cc78e.png


4.wxs与JavaScript区别


   看到有人总结过wxs的特点,感觉不错就在这里贴一下,如果侵权请联系删除:

c2f0211f6bea93f4a6c2a01da5631d0b_9ad7b6761a0d4c4da33a0d40c73b37d2.png

另外wxs与javascript的区别如下:

   1.wxs与javascript是两种不同的语言,不过wxs沿用了大部分的js语法,学习成本不会太高。两种语言之间有隔离性,就是说不能从wxs中调用js中定义的函数。

   2.wxs不支持组件事件回调。上篇文件讲过点击事件触发之后从逻辑层可以获取到视图层传递的参数进行数据处理,但是wxs不支持。

   3.性能上来讲,对于iOS版本上运行的小程序,wxs运行速度是js的2-20倍,安卓版本上两个性能无明显差异。


相关文章
|
7月前
|
移动开发 JavaScript 小程序
从入门到实践:Uni-app跨平台开发与应用
从入门到实践:Uni-app跨平台开发与应用
416 1
|
7月前
|
移动开发 JavaScript 前端开发
【前后端实战项目】带你从入门到实战全面掌握 uni-app
【前后端实战项目】带你从入门到实战全面掌握 uni-app
|
7月前
|
存储 XML Android开发
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
82 0
|
7月前
|
Android开发
Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)
Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)
172 0
|
7月前
|
XML 监控 Android开发
Android Studio App开发入门之文本输入EditText的讲解及使用(附源码 包括编辑框、焦点变更监听器、文本变化监听器 )
Android Studio App开发入门之文本输入EditText的讲解及使用(附源码 包括编辑框、焦点变更监听器、文本变化监听器 )
342 0
|
1月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
95 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
小程序 JavaScript 前端开发
uni app 入门
uni app 入门
45 2
|
4月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
116 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
4月前
|
网络协议 物联网 测试技术
App Inventor 2 MQTT拓展入门(保姆级教程)
本文演示的是App和一个测试客户端进行消息交互的案例,实际应用中,我们的测试客户端可以看着是任意的、支持MQTT协议的硬件,通过订阅及发布消息,联网硬件与我们的App进行双向数据通信,以实现万物互联的智能控制效果。
224 2
|
7月前
|
XML Java Android开发
Android Studio App入门之列表视图ListView的讲解及实战(附源码 超详细必看)
Android Studio App入门之列表视图ListView的讲解及实战(附源码 超详细必看)
744 1

热门文章

最新文章

下一篇
DataWorks