Nativescript:在加载函数之外获取页面对象
Nativescript : get page object outside loaded function
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
我想在 loaded
function.In 之外使用 page
对象,page
在 loaded
函数之外定义,然后 page
变量在函数中获取真正的 page
对象,所以我现在可以在函数外使用 page
对象。
但是,我得到了 undefined
的错误。而且,没有第二个 if
语句,它运行良好。
如果我遇到变量范围错误或其他问题?
你的 if 的第一个问题是它会在加载函数之前执行,因为它在函数之外,所以它会在加载文件时立即执行,所以你要么把那个 if
放在某个地方运行,要么尝试使用它来获取加载函数之外的当前页面
var frameModule=require("ui/frame");
var page = frameModule.topmost().currentPage;
但如果它还在外面 exports.foo = function(){}
则不确定它是否会分页对象
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
我想在 loaded
function.In 之外使用 page
对象,page
在 loaded
函数之外定义,然后 page
变量在函数中获取真正的 page
对象,所以我现在可以在函数外使用 page
对象。
但是,我得到了 undefined
的错误。而且,没有第二个 if
语句,它运行良好。
如果我遇到变量范围错误或其他问题?
你的 if 的第一个问题是它会在加载函数之前执行,因为它在函数之外,所以它会在加载文件时立即执行,所以你要么把那个 if
放在某个地方运行,要么尝试使用它来获取加载函数之外的当前页面
var frameModule=require("ui/frame");
var page = frameModule.topmost().currentPage;
但如果它还在外面 exports.foo = function(){}
则不确定它是否会分页对象