添加视图打开窗口在钛
Add view to open Window in titanium
我有3个视图:v1.xml, v2.xml, v3.xml。xml有一个按钮B1。当用户单击按钮B1时,将打开v2.xml。xml有另一个按钮B2。当用户单击按钮B2时,将打开v3.xml。
在v1.xml中创建了一个窗口。当我单击按钮B2时,我想将视图v3添加到现有窗口,我不想创建一个新窗口。我无法使用我在v1.xml中创建的窗口引用,因为我现在正在v2.xml文件中工作。
我代码:V1.xml
<Alloy>
<Window id="main_window">
<View id="v1">
<Button id="B1" />
</View>
</Window>
</Alloy>
V2.xml
<Alloy>
<View id="v2">
<Button id="B2" />
</View>
</Alloy>
V3.xml
<Alloy>
<View id="v3">
<Label id="l3" text="test label"/>
</View>
</Alloy>
V1.js
$b1.addEventListener('click', function() {
var view = Alloy.createController("V2").getView();
$.main_window.remove(v1);
$.main_window.add(view);
});
V2.js
$.b2.addEventListener('click', function(){
var view = Alloy.createController("V3").getView();
//Add this view to main_window
});
-
当您创建V2控制器时,您必须将参考传递到V1中创建的窗口:
V1.js
$b1.addEventListener('click', function() { var view = Alloy.createController("V2", { main_window: $.main_window }).getView(); $.main_window.remove(v1); $.main_window.add(view); });
V2.js
var args = arguments[0] || {}; var main_window = args.main_window; $.b2.addEventListener('click', function(){ var view = Alloy.createController("V3").getView(); main_window.add(view); });
-
或者您可以只创建一个事件侦听器并将其作为参数传递:
V1.js
var currentView; var replaceViews = function(view) { currentView && $.main_window.remove(currentView); $.main_window.add(view); currentView = view; } $.b1.addEventListener('click', function() { var view = Alloy.createController('V2', { delegate: replaceViews }).getView(); replaceViews(view); });
V2.js
var args = arguments[0] || {}; var replaceViews = args.delegate; $.b2.addEventListener('click', function() { var view = Alloy.createController('V3').getView(); replaceViews(view); });
-
最后一个选项是设置$。main_window转换为Alloy。
在这里你可以阅读更多关于传递参数给Alloy Controller和Alloy. globals的信息。
相关文章:
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 如何在网格视图中每次单击按钮或链接时打开不同的新弹出窗口
- 当我点击打开另一个弹出窗口时,如何强制关闭弹出窗口
- jquery-mobile的列表视图中的两个弹出窗口
- AngularJS:触发从子窗口加载视图(OAuth)
- Kendo UI窗口不会打开具有布局的视图
- titanium:窗口和视图之间的区别
- 带有部分视图的模式弹出窗口
- 如何为模式窗口中呈现的部分视图添加滚动条
- 创建呈现分部视图的弹出窗口
- 使用引导模式窗口作为部分视图
- Angular JS将msg广播到多个视图,包括模态窗口
- 模式弹出窗口中的按钮单击事件,在网格视图中未触发
- 窗口之间有什么区别.主干网中的视图名称和视图名称.js
- 谷歌地图API v3 - 通过外部单击打开信息窗口
- 如何在 dialog() 模式弹出窗口中的部分视图之间保留字段数据
- Openerp 可编辑表单视图弹出窗口
- "缩放“;使用JavaScript的浏览器窗口/视图
- 离子弹出窗口视图显示在离子模态视图后面
- 如何使全屏背景图像大于窗口视图