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