Titanium if attribute and Alloy.Globals not working

时间:2016-04-21 22:35:41

标签: appcelerator appcelerator-alloy

According to the documentation it is possible to:

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.

So this means that if I put:

<Label if="Alloy.Globals.property" color="blue">Foobar</Label

Wont work?? Right now I´m not using the createController method, because it is added on the XML by a Require tag. Is there any way to do this?

1 个答案:

答案 0 :(得分:2)

正如您在docs中看到的那样,有一些例子。

其中之一:

<Alloy>
    <Window>
        <Label if="$.args.fooBar" color="blue">Foobar</Label>
        <Label if="$.args.fooBaz" color="red">Foobaz</Label>
    </Window>
</Alloy>

所以是的,这只会奏效。只要您提供的属性在渲染时已设置。一旦您的变量在视图打开时发生更改,它就不会更新它。为此,您需要data binding