Javascript 顶部的durandal messagebox关闭按钮

Javascript 顶部的durandal messagebox关闭按钮,javascript,knockout.js,durandal,single-page-application,Javascript,Knockout.js,Durandal,Single Page Application,默认情况下,messagebox如下:并命名为:messagebox.html <div class="messageBox"> <div class="modal-header"> <h3 data-bind="html: title"></h3>z </div> <div class="modal-body"> <p class="message" data-

默认情况下,messagebox如下:并命名为:messagebox.html

<div class="messageBox">
    <div class="modal-header">
        <h3 data-bind="html: title"></h3>z
    </div>
    <div class="modal-body">
        <p class="message" data-bind="html: message"></p>
    </div>
    <div class="modal-footer" data-bind="foreach: options">
        <button class="btn" data-bind="click: function () { $parent.selectOption($data); }, html: $data, css: { 'btn-primary': $index() == 0, autofocus: $index() == 0 }"></button>
    </div>
</div>

您需要将knockout绑定到函数closing modal

<div class="modal-header">
     <h3 data-bind="html: title"></h3>
     <span data-bind="click: function () { $parent.close(); }>X</span>
</div>
define(function() {
    var MessageBox = function(message, title, options) {
        this.message = message;
        this.title = title || MessageBox.defaultTitle;
        this.options = options || MessageBox.defaultOptions;
    };

    MessageBox.prototype.selectOption = function (dialogResult) {
        this.modal.close(dialogResult);
    };

    MessageBox.defaultTitle = '';
    MessageBox.defaultOptions = ['Ok'];

    return MessageBox;
});
<div class="modal-header">
     <h3 data-bind="html: title"></h3>
     <span data-bind="click: function () { $parent.close(); }>X</span>
</div>
define(function() {
    var MessageBox = function(message, title, options) {
        this.message = message;
        this.title = title || MessageBox.defaultTitle;
        this.options = options || MessageBox.defaultOptions;
    };

    MessageBox.prototype.selectOption = function (dialogResult) {
        this.modal.close(dialogResult);
    };

    MessageBox.prototype.close = function () {
        this.modal.close();
    };

    MessageBox.defaultTitle = '';
    MessageBox.defaultOptions = ['Ok'];

    return MessageBox;
});