微信小程序在wxml双大括号中执行复杂运算
微信小程序数据绑定支持双大括号中的表达式,但目前只支持这四种表达式:算数表达式、关系表达式、字符串连接表达式、三元表达式。vue则是全功能的JS表达式。使用起来明显差别在于是否支持函数/方法表达式
1. 遇到的问题
1 <!-- 有效 --> 2 <view>{{ 1+1 }}</view> 3 <view>{{ 2>1 ? '是':'否'}}</view> 4 5 <!-- 无效 --> 6 <view>{{ Math.random() > 0.5 ? '大于':'小于' }}</view> 7 <view wx:for="{{'1,2,3'.split(',')}}"> 8 {{item}} 9 </view>
2.解决办法
1 <view wx:for="{{fn.split(str)}}"> 2 {{item}} 3 </view> 4 <wxs module="fn"> 5 module.exports = { 6 split: function(str){ 7 return str.split(','); 8 } 9 } 10 </wxs>
其他示例:
<wxs module="fn"> module.exports = { split: function(str){ return str.split(','); }, random: function(){ return Math.random(); } } </wxs> <view>{{fn.random() > 0.5 ? '大于':'小于'}}</view> <view wx:for="{{fn.split('1,2,3')}}"> {{item}} </view>
作者: Deaseyy
出处: http://www.cnblogs.com/Deaseyy/
新手一枚,请大佬们多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接