Недавно я начал использовать библиотеку Durandal для SPA, который я разрабатываю... респект автору, это отличная библиотека.
Мне нравится концепция виджетов по сравнению с использованием представлений для экранов без состояния, но я не смог отобразить виджет в модальном диалоговом окне, не прикрепляя его к представлению. Кто-нибудь знает как это сделать?
Чтобы уточнить, существует функция widget.create, которая позволяет создавать виджет в JS, но требует присоединения к нему элемента DOM. Я бы предпочел создать виджет, не прикрепляя его к DOM, а затем вызвать что-то вроде:
app.showModal(theWidget);
В качестве альтернативы я знаю, что могу создать "диалоговое" представление, которое сопоставляется с заменяемыми виджетами, а затем использовать это представление для диалогов, например. вид будет иметь:
<div data-bind="widget: {kind:widgetId}">/div>
... а потом:
app.showModal('viewmodels/dialog');
где viewmodels/dialog.js — это модель представления для представления Dialog.
Использованная литература: