2013-07-11 57 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,你可以到達小部件