合成中的app.showMessage没有出现

时间:2013-09-20 18:36:59

标签: javascript durandal

我需要在“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中进行了测试,但问题仍存在于三个浏览器中。

2 个答案:

答案 0 :(得分: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;
});

你还有另一个问题,请注意你的控制台,找出它是什么。

答案 1 :(得分:0)

您导入了“css / durandal.css”吗?

如果你在这里阅读https://groups.google.com/forum/#!Topic/durandaljs/8g7DDCuvlpU,你会看到如何解决它。