Nativescript:获取加载函数外的页面对象

时间:2016-09-22 02:18:08

标签: nativescript

的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对象。在我看来,pageloaded函数之外定义,然后page变量得到功能中的真实page对象,所以我现在可以使用函数外的page对象。 但是,我收到undefined的错误。而且,如果没有第二个if语句,它就会顺利进行。 如果我遇到可变范围错误或其他什么?

1 个答案:

答案 0 :(得分:0)

你的if的第一个问题是它会在加载函数之前执行,因为它在函数之外,所以它在加载文件时立即执行,所以你要把if放在某处运行或尝试使用它来获取当前页面在加载函数之外

var frameModule=require("ui/frame");
var page = frameModule.topmost().currentPage;

但如果它仍在exports.foo = function(){}之外,则不确定它是否会对页面对象

相关问题