2015-09-28 59 views
2

你好,我是新手到onsenUI和角js,我發現一個函數「pushpage」導航到另一個頁面,但我已經搜索了兩天以來如何傳遞一個值到另一個網頁,請幫我找出這個,因爲我在這浪費2天.. :(我的代碼是如何使用onsen UI將值傳遞給另一頁UI

     Content = 
           '<ons-button onclick=gallery.pushPage("dishes.html");>' 
    +data['Details'][i]['varName'] + data['Details'][i]['intGlCode'] +'<br>'+ 
    '</ons-button>'; 
        } 

回答

3

您可以在pushPage調用的選項參數中傳遞一個值。像這樣:

nav.pushPage('page.html', {value: 10}); 

然後,您可以通過做檢索值:

console.log(nav.getCurrentPage().options.value); 

,如果你正在使用AngularJS或您的應用一些其他的框架是不是從你的問題不清楚。如果您使用的是AngularJS,您可以獲取推送頁面的控制器中的值。

您有一個模板或頁面是這樣的:

<ons-template id="page.html"> 
    <ons-page ng-controller="PageController"> 
    ... 
    </ons-page> 
</ons-template> 

而在你的控制器,你可以這樣做:

module.controller('PageController', function($scope) { 
    console.log($scope.nav.getCurrentPage().options); 
}); 

如果你不使用AngularJS即可獲得價值等待'pageinit'事件。我將使用jQuery爲例:

HTML:

<ons-page id="page"> 
    ... 
</ons-page> 

的JavaScript:

$(document).on('pageinit', '#page', function() { 
    // Do something. 
}); 
+0

您好感謝這麼多的幫助,是的,我用我的應用程序的角度JS,一個問題是隻有一個「ons-navigator」需要傳遞這個值,它應該在「index.html」頁面或所有需要的「ons-navigator」頁面中? –

+1

是的,通常你只需要一個導航器爲你的應用程序,在一些罕見的情況下,如果你的應用程序非常複雜,你可能需要更多。 –

+0

因此,先生,在將「ons-navogator」放入index.html並從所有其他頁面中刪除後,它會觸發一個錯誤「無法從ons-page元素獲取PageView」,那麼您能告訴我爲什麼會發生這種情況嗎? –

0

你可以在一個單頁應用程序中使用全局變量一樣!

相關問題