icon的属性中不能使用三元运算符吗
数据属性设置如下:
wxml中代码如下:
当把usr.ok设置为true也不会显示icon。
但是如果在函数中使用this.setData就会正常显示。很奇怪,不知道为什么。
以上都是在1.01.171018的上一个版本编辑器里面发现的
数据属性设置如下:
wxml中代码如下:
当把usr.ok设置为true也不会显示icon。
但是如果在函数中使用this.setData就会正常显示。很奇怪,不知道为什么。
以上都是在1.01.171018的上一个版本编辑器里面发现的
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> 试试!
不行。我说一下的我理解,不知道对不对。
这张图里面的send initial data是将page中的data发送过去(我个人理解的,不知道是不是准确),然后view线程进行第一次渲染。按理说在onload中初始化data,应该能被第一次渲染。但是出现这个bug不知道为什么