我对钛的module.export有个问题。我试着跟踪https://wiki.appcelerator.org/display/guides/CommonJS+Modules+in+Titanium,但是它根本不起作用。
我有两段代码。App.js:
var fenetreBase = Titanium.UI.createWindow({fullscreen:true,backgroundColor:"white",exitOnClose:true});
fenetreBase.open();
var vueimage = new (require('UI/viewimage'))();
vueimage.test();
fenetreBase.add(vueimage);以及文件夹UI中的viewimage.js。
function viewimage() {
var lavue = Ti.UI.createView({backgroundColor:'red' });
var item =...
lavue.add(item...);
return lavue;
}
viewimage.prototype.test = function() {
Ti.API.info("test");
};
module.exports = viewimage;我说错了
对象#在app.js vueimage.test()中没有方法“test”
在我的脑海中,我遵循上面wiki中的“不可更改的对象”的例子,但是我可能还没有理解一些东西。我想我犯了个愚蠢的错误。我尝试了很多其他的东西,每一种都比其他的更丑,而且无论如何都行不通。
谁能告诉我哪里出错了吗?
发布于 2013-12-04 19:27:43
您的错误是在运行时假设您有一个视图映像实例:
var vueimage = new (require('UI/viewimage'))();您将得到一个
var lavue = Ti.UI.createView({backgroundColor:'red' }); 它没有测试属性。
也许您可以使用这样的对象来代替:
function viewimage() {
var result = {};
var lavue = Ti.UI.createView({backgroundColor:'red' });
var item =...
lavue.add(item...);
result.lavue = lavue;
result.test = function() {
Ti.API.info("test");
};
return result;
}编辑
在App.js中:
var vueimage = new (require('UI/viewimage'))();
vueimage.test();
fenetreBase.add(vueimage.lavue);https://stackoverflow.com/questions/20373718
复制相似问题