我是钛工作室和合金mvc框架的新手。我在控制器文件夹中有两个js文件。一个是index.js(在创建项目时自动创建)和home.js.现在我想从index.js打开关于按钮事件的home.js(比如从eclipse android app中的另一个活动开始一个新活动)。这是我的代码:
index.js:
function login_Click(e){
Ti.include('home.js');
hello();
}
$.index.open();
其中login_click(e)是按钮onClick事件。
和home.js:
function hello(){
//$.home.open();
alert("Opened");
}
//exports.hello = hello;
但每当我运行它并单击按钮时它会给出错误
位置:[25,1]合金/控制器/ home.js
按摩:未捕获的参考错误:模块未定义
源:* module.export =控制器;
这是我的合金/ controllers / home.js:
function Controller() {
require("alloy/controllers/BaseController").apply(this, Array.prototype.slice.call(arguments));
arguments[0] ? arguments[0]["__parentSymbol"] : null;
arguments[0] ? arguments[0]["$model"] : null;
var $ = this;
var exports = {};
$.__views.home = Ti.UI.createWindow({
backgroundColor: "white",
id: "home"
});
$.__views.home && $.addTopLevelView($.__views.home);
$.__views.label = Ti.UI.createLabel({
text: "Hell Yeah",
id: "label"
});
$.__views.home.add($.__views.label);
exports.destroy = function() {};
_.extend($, $.__views);
$.home.open();
_.extend($, exports);
}
var Alloy = require("alloy"), Backbone = Alloy.Backbone, _ = Alloy._;
module.exports = Controller;
Plz在这里帮助我。我试过require()方法。我尝试使用$ .home.open()直接打开;但没有任何效果。我需要做什么???? Thanx提前....
答案 0 :(得分:4)
你必须使用Alloy来做这个,打开Home controller视图就这样做:
function login_Click(e){
var homeController = Alloy.createController('home');
// If home.xml's container is a Window this will work
homeController.getView().open();
}
答案 1 :(得分:0)
或者,如果您尝试在其他文件中调用其他js文件的方法,则需要导出该函数以使用它。 例如:
home.js
exports.myFunction = function(){
alert("I am in");
}
index.js
var home = require("home");
home.myFunction();
然后你去。