我有一个模板,我试图在bootstrap popover中呈现,但是当我执行下面的代码时,它只呈现[object Object]
。是否有可能以某种方式呈现完整的模板?
<a data-toggle="popover" data-placement="top" data-trigger="hover" title="sometitle" data-bind="attr: { 'data-content': { template: { name: 'a-template', data: somedata} } }"></a>
感谢您的圣人建议和更好的智慧!
答案 0 :(得分:1)
您可以做的是,在计算字段中渲染模板并将该字段分配给该数据内容属性。见下文:
指定您的模板
<script id="myTemplate" type="text/html">
// Some HTML here
</script>
根据上面指定的模板生成计算字段。
<script>
function myViewModel() {
var self = this;
self.templateField= ko.computed(function(){
var temp = $("<div>");
ko.applyBindingsToNode(temp[0], { template: { name: 'templateName', data: self } });
var html = temp.html();
temp.remove();
return html;
}, self);
}
</script>
现在使用属性中创建的计算字段。
<anyElement data-bind="attr: {'data-content': templateField}"/>