Titanium if 属性和 Alloy.Globals 不起作用
Titanium if attribute and Alloy.Globals not working
根据文档,可以:
In the XML markup, add the if attribute to an element and assign it to the property passed to the createController() method. Prefix the property name with the $.args namespace. Based on the property passed to the method, the application displays a different label.
所以这意味着如果我输入:
<Label if="Alloy.Globals.property" color="blue">Foobar</Label
不会工作??现在我没有使用 createController 方法,因为它是通过 Require 标记添加到 XML 上的。有什么办法吗?
正如您在 docs 中看到的那样,有一些示例。
其中之一:
<Alloy>
<Window>
<Label if="$.args.fooBar" color="blue">Foobar</Label>
<Label if="$.args.fooBaz" color="red">Foobaz</Label>
</Window>
</Alloy>
所以是的,这会奏效。只要你提供的 属性 在渲染时已经设置好了。一旦您的变量在视图打开时发生更改,它就不会更新。为此,您需要 data binding
根据文档,可以:
In the XML markup, add the if attribute to an element and assign it to the property passed to the createController() method. Prefix the property name with the $.args namespace. Based on the property passed to the method, the application displays a different label.
所以这意味着如果我输入:
<Label if="Alloy.Globals.property" color="blue">Foobar</Label
不会工作??现在我没有使用 createController 方法,因为它是通过 Require 标记添加到 XML 上的。有什么办法吗?
正如您在 docs 中看到的那样,有一些示例。
其中之一:
<Alloy>
<Window>
<Label if="$.args.fooBar" color="blue">Foobar</Label>
<Label if="$.args.fooBaz" color="red">Foobaz</Label>
</Window>
</Alloy>
所以是的,这会奏效。只要你提供的 属性 在渲染时已经设置好了。一旦您的变量在视图打开时发生更改,它就不会更新。为此,您需要 data binding