考慮以下情形我們Durandal
應用:如何在Durandal中調用路線變更的全局功能?
當客戶訪問我們的SPA
的某些URL的,我們想提出他的對話/彈出。對於初始加載,這不是問題,我們在shell.js
中調用activate
回調函數中的函數。
問題是,當用戶瀏覽我們的網站,並達到一個URL,彈出對話框。
假設我們有兩個視圖模型product
和prodcutOverview
和shell
。所有這三個將有activate
功能是這樣的:
vm.activate = function() {
var keywordsExists = checkUrl();
if(keywordsExists){
globals.showDialog();
}
};
的globals
想法來源於此question
如何創建一個激活功能在處理每個路由變化使用,所以我防止重複碼我的viewmodels?