我希望制作一个 Durandal 自定义对话框,在现有的可组合视图模型周围添加一个带有标题和页脚的窗口框架。
我制作了一个 customModal.html 模板
<div class="messageBox">
<div class="modal-header">
<h3 data-bind="text: title"></h3>
</div>
<div class="modal-body">
<!--ko compose: { model: model, template: view }-->
<!--/ko-->
</div>
<div class="modal-footer" data-bind="foreach: options">
<button class="btn" data-bind="click: function () { $parent.selectOption($data); }, text: $data, css: { 'btn-primary': $index() == 0, autofocus: $index() == 0 }"></button>
</div>
</div>
如您所见,我希望在 customModal 模板的主体中组成一个视图模型。这样一来,传入的视图模型就不会绑定到模态显示,而是可以轻松使用。
我制作了一个这样的 customModal.js 模型:
define(['plugins/dialog'], function (dialog) {
var CustomModal = function (title, model, view, options) {
this.title = title;
this.model = model;
this.view = view;
this.options = options;
};
CustomModal.prototype.selectOption = function (dialogResult) {
dialog.close(this, dialogResult);
};
return CustomModal;
});
但是当我尝试使用它时,组合绑定搜索模板“.html”并失败。
我在这里错过了什么吗?这真的是最好的方法吗?
谢谢。