如何使用html绑定?

nel*_*ong 4 knockout.js

html在knockoutjs中使用绑定时遇到问题.在viewModel.maintable()我有:

this.layerDetails = ko.observable("");
Run Code Online (Sandbox Code Playgroud)

在我在上面的属性中添加一些html的函数中:

viewModel.maintable().layerDetails(viewModel.maintable().layerDetails() + "<a href='#' data-bind='click:function(){viewModel.refreshPage(true)}'>link</a>");
Run Code Online (Sandbox Code Playgroud)

另外在html部分:

<div data-bind='html: layerDetails'>a</div>
Run Code Online (Sandbox Code Playgroud)

但是,我无法触发该refreshPage功能.我写错了代码吗?

RP *_*yer 8

html结合将不会钩住任何数据绑定属性.你真的有几个选择来完成这项工作.

1-使用template 绑定而不是html.使用您的内容创建一个模板,Knockout将管理添加/删除DOM元素并挂钩数据绑定.

ko.applyBindings(yourViewModel, theNewRootElement)设置layerDetails值后调用2- .因此,您将传入您想要绑定的数据以及创建的任何新元素的根.