1
如何獲取我正在處理的當前屏幕?例如,我有一個包含按鈕的sliderrawer,可以導航到另一個頁面。當我在某個頁面上時(關於頁面),當我點擊按鈕導航到關於頁面時,如果它位於同一頁面上,我想關閉滑動頁眉。Nativescript獲取當前頁面
我的想法是,要獲得當前頁面,只是比較它,但我不知道如何。
注意:slidesrawer內容菜單是一個自定義組件。
如何獲取我正在處理的當前屏幕?例如,我有一個包含按鈕的sliderrawer,可以導航到另一個頁面。當我在某個頁面上時(關於頁面),當我點擊按鈕導航到關於頁面時,如果它位於同一頁面上,我想關閉滑動頁眉。Nativescript獲取當前頁面
我的想法是,要獲得當前頁面,只是比較它,但我不知道如何。
注意:slidesrawer內容菜單是一個自定義組件。
有幾種方法可以解決這個問題。最簡單的就是安裝nativescript-DOM插件,那麼你就可以做到這一點真的很簡單:
// This will return an array of elements that are SlideDrawer's.
var slideDrawers = getElementsByTagName('SlideDrawer');
甚至更好的是,如果您已向其分配SlideDrawer一個id,你可以做
<!-- Declarative XML -->
<SlideDrawer id="myId">...</SlideDrawer>
// JS: Will return a single element that matching the id.
var mySlideDrawer = getElementById('myId');
然而,如果你只是想不使用任何助手,你想直接訪問當前頁面的方法是:
var frame = require('ui/frame');
var myPage = frame.topmost().currentPage;
請注意,當導航生效時,currentPage將反映舊頁面,直到navigatedTo事件被觸發,此時currentPage實際上更新爲當前頁面。但是,如果您在任何導航事件期間查找當前頁面(NavigatingTo,NavigatedTo,Loaded,Unloaded),那麼每個這些事件都會將當前頁面的參數作爲對象的一部分傳輸。
exports.onNavigatedTo = function(args) {
var page = args.object;
// do what you want with the current page variable
}