2013-10-22 97 views
3

我正在钛合金1.2.2上的Android移动应用程序如何访问钛合金外部视图中的元素?

我想访问包含在外部视图中的元素。 所以,如果我使用

var win=Alloy.createController().getView(); 

它本身打开该视图。我不需要那个。我只想访问该视图中的元素并将其可见性更改为false。我们怎么做到这一点?提前Thanx。

+0

您可以访问视图的子元素,例如,如果你有你的主要观点,你要访问另一个控制器内的标签,其有另一种看法,你必须做类似这样的事情:'mainView.children [0] .children [0] .children [0]' –

回答

0

另一种解决方案是导出属性,但您需要控制器的参考资料,您已拥有它。

var win=Alloy.createController('Path to your controller'); 

在控制器的.js文件,你需要:

exports.element = $.elementid; 

然后你就可以访问win.element.visible = false或任何财产需要。

0

controller.getView()不显示屏幕上的视图。可能在初始化的控制器中,您的代码类似于:$.index.open(),它在设备屏幕上添加了新的视图。

如果您想要在创建视图时隐藏元素,最好的方法是创建.tss文件,您可以使用#id.class将规则visible: false

查看更多在Alloy Styles and Themes documentation

0

使用Alloy.createController('name').__views得到控制外界的看法,如:

// fruit.xml 
<Alloy> 
    <View id='opacity_view'></View> 
</Alloy> 

// other.js: 
the_view = Alloy.createController('fruit').__views.opacity_view