4

我正在钛合金 1.2.2 上制作安卓移动应用程序

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

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

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

4

3 回答 3

1

用于Alloy.createController('name').__views获取控制器外部的视图,例如:

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

// other.js: 
the_view = Alloy.createController('fruit').__views.opacity_view
于 2015-05-09T06:20:17.457 回答
0

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

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

在合金样式和主题文档中查看更多信息。

于 2013-10-23T01:28:30.743 回答
0

另一种解决方案是导出属性,但您需要您已经拥有的控制器的引用。

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

在您需要的控制器的 .js 中:

exports.element = $.elementid;

然后你可以访问win.element.visible = false或任何你需要的属性。

于 2013-10-22T19:37:25.677 回答