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倍,安卓版本上两个性能无明显差异。


相关文章
|
3月前
|
移动开发 JavaScript 小程序
从入门到实践:Uni-app跨平台开发与应用
从入门到实践:Uni-app跨平台开发与应用
133 1
|
3月前
|
移动开发 JavaScript 前端开发
【前后端实战项目】带你从入门到实战全面掌握 uni-app
【前后端实战项目】带你从入门到实战全面掌握 uni-app
|
4月前
|
存储 XML Android开发
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
Android Studio App开发入门之数据存储中共享参数SharedPreferneces的讲解及使用(附源码 超详细必看)
31 0
|
4月前
|
Android开发
Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)
Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)
34 0
|
4月前
|
XML 监控 Android开发
Android Studio App开发入门之文本输入EditText的讲解及使用(附源码 包括编辑框、焦点变更监听器、文本变化监听器 )
Android Studio App开发入门之文本输入EditText的讲解及使用(附源码 包括编辑框、焦点变更监听器、文本变化监听器 )
114 0
|
4月前
|
XML Java Android开发
Android Studio App入门之列表视图ListView的讲解及实战(附源码 超详细必看)
Android Studio App入门之列表视图ListView的讲解及实战(附源码 超详细必看)
90 0
|
4月前
|
XML Java 数据格式
Anrodi Studio App开发入门之网格视图GridView的使用及实战(附源码 超详细必看)
Anrodi Studio App开发入门之网格视图GridView的使用及实战(附源码 超详细必看)
31 0
|
4月前
|
Android开发 iOS开发 容器
Android Studio App开发入门之选择按钮的讲解及使用(包括复选框,开关按钮,单选按钮,附源码)
Android Studio App开发入门之选择按钮的讲解及使用(包括复选框,开关按钮,单选按钮,附源码)
69 0
|
4月前
|
XML 编解码 Android开发
Android Studio App开发入门之图形定制Drawable的讲解及实战(附源码 超详细必看)
Android Studio App开发入门之图形定制Drawable的讲解及实战(附源码 超详细必看)
48 1
|
4月前
|
XML 安全 Java
Android Studio App开发入门之活动Activity中为活动补充附加信息讲解及实战(附源码 超详细必看)
Android Studio App开发入门之活动Activity中为活动补充附加信息讲解及实战(附源码 超详细必看)
36 0