1.当使用键值更新的方式setData时,引用conf对象的WXS函数的返回值无法应用到页面上,如:
this.setData({
"conf.theme": "light"
});
<view class="view {{t.fromObj(conf)}}"></view> 无效
<view class="view {{t.fromKey(conf.theme)}}"></view> 有效
但引用conf.theme的WXS函数可以。
2.当使用对象覆盖的方式setData时,无论WXS函数引用的是conf对象还是conf.theme,其返回值均可以正常应用到页面上,如:
this.setData({
conf: {
theme: "light"
}
});
<view class="view {{t.fromObj(conf)}}"></view> 有效
<view class="view {{t.fromKey(conf.theme)}}"></view> 有效
而且简单测试,似乎情况1在所有类型传参均受影响,无论class、style、dataset还是组件的property传参。
且有特殊情况就是:
<view class="view {{t.fromObj(conf)}} {{t.fromKey(conf.theme)}}"></view>
对于情况1,这里似乎因为t.fromKey(conf.theme)被识别到更新,所以同时更新了t.fromObj(conf)