微信小程序數據綁定支持雙大括號中的表達式,但目前只支持這四種表達式:算數表達式、關系表達式、字符串連接表達式、三元表達式。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>