Я создал плагин knockoutjs, который в конечном итоге использует ko.renderTemplate в части «обновления» его обработчика привязки. Код генерирует ожидаемый результат, но также генерирует ошибку «Невозможно разобрать привязки».knockoutjs «Невозможно разобрать привязки» в плагине с использованием ko.renderTemplate
Воспроизведение этой проблемы можно найти здесь http://jsfiddle.net/rhoadsce/VSWK2/ на jsfiddle.
Код JavaScript заключается в следующем:
ko.plugin = function(configuration) {
var self = this;
self.content = configuration.content || '';
};
ko.bindingHandlers.plugin = {
update: function(element, valueAccessor, allBindingsAccessor) {
var viewModel = valueAccessor();
$(element).append('<div id="pluginContainer"></div>');
var $container = $(element).children('#pluginContainer');
ko.renderTemplate("pluginTemplate", viewModel, {}, $container, 'replaceNode');
}
};
$(function() {
var vm = (function() {
var plugin = new ko.plugin({ content: 'test content'});
return {
plugin: plugin
}
})();
ko.applyBindings(vm);
});
HTML, является столь же просто.
<div data-bind="plugin: plugin"></div>
<script id="pluginTemplate" type="text/html"><span data-bind="text: content"></span></script>
+1: код, скрипку, очевидные попытки добиться успеха в одиночку, и интересный вопрос. Отличный первый вопрос, добро пожаловать в Stack Overflow – Tyrsius