我最近开始使用 Durandal 库来开发我正在开发的 SPA……感谢作者,它是一个出色的库。
我喜欢小部件的概念,而不是将视图用于无状态屏幕,但我无法在模式对话框中显示小部件,而无需将其附加到视图。有谁知道如何做到这一点?
详细地说,有一个widget.create函数允许在 JS 中创建一个小部件,但需要附加一个 DOM 元素。我更愿意做的是创建一个小部件,而不将它附加到 DOM,然后调用类似:
app.showModal(theWidget);
作为替代方案,我知道我可以创建一个映射到可交换小部件的“对话框”视图,然后将该视图用于对话框,例如该视图将具有:
<div data-bind="widget: {kind:widgetId}">/div>
... 接着:
app.showModal('viewmodels/dialog');
其中 'viewmodels/dialog.js' 是“对话”视图的视图模型。
参考: