2013-07-11 20 views
0

我正在使用AlloySliderMenu小部件构建Titanium SDK 3的应用程序。Titanium/Alloy小部件和控制器

此小部件使用Facebook应用程序的滑块菜单。这听起来很容易使用,但我面临以下问题。

在index.xml中我需要小部件。

在应用程序中的index.js,我有以下的代码:

currentView = Alloy.createController('list').getView(); 
//ds is the slider menu id 
//contentview in the main panel of the menu 
$.ds.contentview.add(currentView); 

这将在应用程序的主窗口,我的“名单”视图。

问题是,在我的list.js控制器中,我有一个函数,它应该改变$ .ds.contentview内容ith一个按钮的点击操作的另一个视图。 但我无法从列表容器访问$ .ds.contentview并使用此对象。

我试过Alloy.createWidget等..但没办法,它不会工作。

回答

0

如果你的问题是规模,速战速决,可以使用全局或CFG变量:http://docs.appcelerator.com/titanium/latest/#!/api/Alloy

如果不解决:

Alloy.Globals.someGlobalObject = { key: 'value' }; 
Alloy.Globals.someGlobalFunction = function(){}; 

var theObject = require('alloy').Globals.someGlobalObject; 

有ID了解使用此变量的详细信息

Alloy.createController('list', { 
     title : "Unable to login", 
     message : authData.FailureReason, 
     callback : callbackFunc 
    }).getView() 

也许回调函数可以帮助你:这个问题,你可以在一个JSON对象,当你创建了一个控制器发送参数。

0

由于马里奥提到: 在index.js中,使用全局: Alloy.Globals.ds = $ .ds; Alloy.Globals.ds

在list.js,你可以到达小部件