在state
模型中,我有:
...
"elementX": {valueState:"Success", valueStateText:"Great!" },
...
在XLMView中我使用Text
元素:
<Text text="{state>/elementX/valueStateText}" class="Success"/>
在我的style.css文件中,我有:
.Success{
color: #008000;
}
一切正常,我看到了绿色文字!
但如果将class
绑定到valueState
符合
<Text text="{state>/elementX/valueStateText}" class="{state>/elementX/valueState}"/>
我看到黑色的文字(不是绿色)......为什么?
使用另一个组件作为对象Satus在我的表单中没有一个好的样式:
答案 0 :(得分:1)
不幸的是,class属性不可绑定 - 它甚至不是一个真正的属性。
无论如何,实现您的计划的变通方法很简单:您必须在任何属性上使用格式化程序,并在该格式化程序中使用addStyleClass
/ removeStyleClass
方法添加/删除该类。 / p>
<Text text="{ parts: [ 'state>/elementX/valueStateText', 'state>/elementX/valueState' ], formatter: 'my.static.Formatter.format' }" />
my.static.Formatter.format = function(sValueStateText, sValueStateClass) {
// this refers to the control in a static formatter
// set the class on the control via code
if (sValueStateClass) {
this.addStyleClass(sValueStateClass);
}
// statically return the desired text to make it appear in the text property
return sValueStateText;
};
BR 克里斯