我想制作一个popover(bootstrap)自定义绑定。
我这样定义了这个:
ko.bindingHandlers.popover = {
update: function (element, valueAccessor)
{
var template = ko.unwrap(valueAccessor);
$(element).popover({
placement: 'top',
html: true,
content: 'text!' + template() <---- How can i get html into here?
});
}
};
<button data-bind="popover: 'templates/mytemplate.html'">
PopOver
</button>
问题是,我不知道如何注入我想要的HTML。当然,我想要一个模板路径来解决,但使用需要文本!插件并不像我希望的那样好。
我怀疑我忽略了一些更简单的事情?
答案 0 :(得分:1)
只需向模板发出ajax请求
$.ajax(template).done(function (templateData) {
$(element).popover({
placement: 'top',
html: true,
content: templateData
});
});
答案 1 :(得分:0)
现在你的模板是文字字符串'templates / mytemplate.html'。这可能不是你想要的,你想要那个文件中的文本。使用类似fs.readFileSync的内容来同步获取该文件中的文本。
如果您打算将html的路径传递给绑定,可能需要将变量名称从模板更改为路径。