0

我需要在“compositionComplete”中显示一条消息,但下一个代码不起作用:

function compositionComplete(view, parent) {
        app.showMessage('This is a message.', 'Demo');
    }

视图被挡住了,app.showMessage没有出现。

我使用 Breeze 1.4.1、Durandal 2.0、Knockout 2.3.0、Bootstrap 3.0、jquery 2.0.3 和 shell cacheViews:true

javascript 控制台仅显示:

Binding plugins/messageBox 
MessageBox {message: "This is a message.", title: "Demo", options: Array[1], __dialog__: Object, selectOption: function…}
 system.js:75

我查看控制台,当存在 ko 或 Q 的数据绑定错误时出现问题。但我需要使用“app.showMessage”显示这些错误。

我在 IE 10、Firefox 23、Google Chrome 29 中进行了测试,但问题在三种浏览器中仍然存在。

4

2 回答 2

0

您是否导入了“css/durandal.css”?

如果您在此处阅读https://groups.google.com/forum/#!Topic/durandaljs/8g7DDCuvlpU,您将了解如何修复它。

于 2013-09-24T15:52:05.287 回答
0

这里没有足够的信息来回答您的问题,但为了清楚起见,代码确实在正确构建的模块中工作

define(['durandal/app'], function (app) {

    function attached() {
        app.showMessage('This is a message', 'demo');
    };

    function compositionComplete() {
        app.showMessage('This is a message', 'demo');        
    };

    var viewModel = {
        compositionComplete: compositionComplete,
        attached: attached
    };
    return viewModel;
});

您还有另一个问题,请密切注意控制台以找出问题所在。

于 2013-09-21T15:27:47.120 回答