icon的属性中不能使用三元运算符吗
数据属性设置如下:
wxml中代码如下:
当把usr.ok设置为true也不会显示icon。
但是如果在函数中使用this.setData就会正常显示。很奇怪,不知道为什么。
以上都是在1.01.171018的上一个版本编辑器里面发现的
7 回复
demo如下:
wxml文件:
< icon type = '{{usr.ok?usr.succIcon:usr.warnIcon}}' color = '{{usr.ok?usr.succCol:usr.warnCol}}' ></ icon > |
js代码有两个文件:
第一个:pppp.js
function test(){ } test.prototype={ constructor:test, ok: true , succIcon: 'success' , warnIcon: 'warn' , succCol: 'green' , warnCol: 'red' } module.exports=test |
第二个:index.js
var test=require( 'pppp.js' ) var app = getApp() Page({ data: { }, onLoad: function () { this .setData({ usr: new test() }) console.log( this .data) } }) |
这样就会出现上述问题。
2楼的方法我试过了,不行。也不知道为什么那个截图会是那样,后来的截图是这样的
我这样写出现问题的原因是不是在onload时期更改了数据,而这个时候view已经初始化好了(生命周期没掌握好)?
那你就在type 前面写一个 wx:if<
icon
wx:if="{{usr.ok}}" type
=
’{{usr.ok?usr.succIcon:usr.warnIcon}}’
color
=
’{{usr.ok?usr.succCol:usr.warnCol}}’
></
icon
> 试试!