Durandal路由器未激活

时间:2013-03-26 14:41:46

标签: javascript messagebox durandal

我的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绑定的按钮!

希望有人可以提供帮助!

1 个答案:

答案 0 :(得分:3)

我认为你需要做的就是调用router.navigateTo('#/ yourUrl')。

如果我理解文档,那么router.activate必须只调用一次,通常是在shell激活时。

文档

中列出了viewModel导航可用的路径功能 “其他API”

部分下的

http://durandaljs.com/documentation/Router/