2013-10-22 92 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