是否有任何方法可以从击倒中的html字符串进行渲染?
即
var html = ko.renderFromString('<p data-bind="text:name"></p>', {name:"Fred"});
Run Code Online (Sandbox Code Playgroud)
对我正在做的事情来说非常方便.
$(".container").append(html);
$(".container").on("click", "p", function(e){
console.log(ko.dataFor(this));});
Run Code Online (Sandbox Code Playgroud)
如果您不愿意弄乱模板引擎,请尝试以下方法:
ko.renderFromString = function (html, data)
{
var node = new DOMParser().parseFromString(html, "text/html");
this.applyBindings(data, node.body);
var res = node.body.innerHTML.toString();
this.cleanNode(node);
delete node;
return res;
};
Run Code Online (Sandbox Code Playgroud)
它基本上从你的Html字符串创建一个临时(内存)DOM元素,绑定你的数据,返回innerHTML绑定元素然后丢弃它.
| 归档时间: |
|
| 查看次数: |
2595 次 |
| 最近记录: |