0

DurandalアプリにmessageBoxがあり、[いいえ]または[はい]をクリックすると、他のページにスローされます。ルーターでこれを実行したいのですが、ページが切り替えられません。

コードがその行を実行しているのがわかりますが、何も起こりません!

define(function(require) {
var app = require('durandal/app'),
    system = require('durandal/system'),
    router = require('durandal/plugins/router');

return {
    router: router,
    displayName: 'SometingApp Startpage',
    activate: function() {
        system.log("Application started!");
    },
    createEstimate: function() {
        app.showMessage('Do you want to create a new something?', 'New something', ['Yes', 'No']).then(function(result) {
            if (result == "Yes") {
                return router.activate('otherpage');
            }
        });
    }
};

});

ユーザーは、createEstimateにバインドされているボタンをクリックします。

誰かが助けてくれることを願っています!

4

1 に答える 1

3

あなたがする必要があるのはrouter.navigateTo('#/ yourUrl')を呼び出すことだと思います。

ドキュメントを正しく理解している場合、router.activateは、通常はシェルのアクティブ化時に1回だけ呼び出す必要があります。

viewModelナビゲーションで使用できるルート関数は、ドキュメントにリストされています

http://durandaljs.com/documentation/Router/「その他のAPI」セクション

于 2013-03-26T14:48:42.923 に答える