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