親ルートが変更されたときに無効化イベントを発生させる方法。たとえば、「HTML サンプル」では、Master-Detail ページがアクティブなときに、ビューを別のビューに変更します。ここで「退出しますか....」というダイアログを強制する方法は?
ウラジミールに感謝します。
更新:
ダイアログを置き換えた HTML サンプルのコード
project.js
define(['durandal/system', 'durandal/app'], function (system, app) {
var ctor = function (name, description) {
this.name = name;
this.description = description;
};
ctor.prototype.canActivate = function () {
return true; //!!! CHANGED!!!
};
ctor.prototype.activate = function () {
system.log('Model Activating', this);
};
ctor.prototype.canDeactivate = function () {
return false; //!!! CHANGED!!!
};
ctor.prototype.deactivate = function () {
system.log('Model Deactivating', this);
};
return ctor;
});
現在、選択コントロールを使用して詳細ビューを変更することはできません。しかし、ナビゲーションパネルからモジュール全体を簡単に変更できます。