2016-09-22 35 views
0

的javascript:Nativescript:獲取頁面對象外部加載功能

... 
//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 

我想用loadedpage對象function.In我的腦海裏,pageloaded機能的研究之外定義,那麼page變量得到真正的page對象的功能,所以我現在可以使用函數之外的對象page。 但是,我得到了一個undefined的錯誤。並且,沒有第二個if聲明,它進展順利。 如果我遇到了變量範圍錯誤或其他問題?

回答

0

你的if的第一個問題是它將在加載函數之前執行,因爲它的功能之外,所以它的執行立即在加載文件,所以要麼將if放在某個地方運行或嘗試使用它來獲取加載之外的當前頁面功能

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

但如果還在外面exports.foo = function(){}它不知道它會頁面對象