我正在使用AlloySliderMenu小部件使用Titanium SDK 3构建应用程序。
此小部件创建一个像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内容,而另一个视图是关于按钮的单击操作。 但我无法从列表容器中访问$ .ds.contentview并使用此对象。
我已经尝试过Alloy.createWidget等..但是没有办法,它将无法正常工作。
答案 0 :(得分:0)
如果您的问题是范围,可以使用全局变量或CFG变量进行快速修复:
Alloy.Globals.someGlobalObject = { key: 'value' };
Alloy.Globals.someGlobalFunction = function(){};
var theObject = require('alloy').Globals.someGlobalObject;
在此处提供了有关使用此变量的更多信息:http://docs.appcelerator.com/titanium/latest/#!/api/Alloy
如果这不能解决问题,您可以在创建控制器时在JSON对象中发送参数:
Alloy.createController('list', {
title : "Unable to login",
message : authData.FailureReason,
callback : callbackFunc
}).getView()
也许回调函数可以帮助你。
答案 1 :(得分:0)
正如马里奥所说: 在index.js中,使用全局: Alloy.Globals.ds = $ .ds;
在list.js中,您可以通过以下方式访问小部件: Alloy.Globals.ds