Я пытаюсь полностью связать твиттер-бутстрап с нокаутом. По полной привязке я имею в виду, что я хочу, чтобы каждое тесное взаимодействие с модальным диалогом работало с нокаутом. Я видел некоторые из вопросов, которые частично связывают их (например, это не разрешает esc).
Я использую почти идентичную привязку (которую я действительно нашел в другом месте)
ko.bindingHandlers.modal = {
init: function (element, valueAccessor) {
$(element).modal({
show: false
});
},
update: function (element, valueAccessor) {
var value = valueAccessor();
if (ko.utils.unwrapObservable(value)) {
$(element).modal('show');
} else {
$(element).modal('hide');
}
}
}
Но проблема в том, что не все работает в мой скрипт. Как вы видите, если вы закроете Modal с помощью кнопки Close, вы можете снова запустить этот модал. Но если вы закроете его с помощью клавиши Esc или щелкнув по фону или на кнопке X, вы не сможете снова открыть Modal.
Я знаю, что проблема связана с тем, что, когда я закрываю модальные с другими средствами (он не меняется наблюдаемым, поэтому, когда я его запускаю во второй раз, ничего не меняется). Но я не могу понять, как это сделать должным образом.
Вот мой взломать:-), где все работает. Я даю новую ценность каждый раз. Но есть ли лучший способ?