微信小程序在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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM