的javascript:
...
//I want use page object outside the loded function
var page
exports.loaded =function (args) {
page = args.object;
page.bindingContext = viewModel;
//there is already a 'grid9' element in XML file
var gridLayout = page.getViewById("grid9");
if(gridLayout ) alert("yes");//<============it works
}
if (page.getViewById("grid9")) alert("yes");//<========== got error
我希望在page
函数之外使用loaded
对象。在我看来,page
在loaded
函数之外定义,然后page
变量得到功能中的真实page
对象,所以我现在可以使用函数外的page
对象。
但是,我收到undefined
的错误。而且,如果没有第二个if
语句,它就会顺利进行。
如果我遇到可变范围错误或其他什么?
答案 0 :(得分:0)
你的if的第一个问题是它会在加载函数之前执行,因为它在函数之外,所以它在加载文件时立即执行,所以你要把if
放在某处运行或尝试使用它来获取当前页面在加载函数之外
var frameModule=require("ui/frame");
var page = frameModule.topmost().currentPage;
但如果它仍在exports.foo = function(){}
之外,则不确定它是否会对页面对象