Knockout.js 如何使用html绑定?

Knockout.js 如何使用html绑定?,knockout.js,Knockout.js,在knockoutjs中使用html绑定时,我遇到了一个问题。在viewModel.maintable()中,我有: this.layerDetails = ko.observable(""); 在我在上述属性中添加一些html的函数中: viewModel.maintable().layerDetails(viewModel.maintable().layerDetails() + "<a href='#' data-bind='click:function(){viewModel.r

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

this.layerDetails = ko.observable("");
在我在上述属性中添加一些html的函数中:

viewModel.maintable().layerDetails(viewModel.maintable().layerDetails() + "<a href='#' data-bind='click:function(){viewModel.refreshPage(true)}'>link</a>");
viewModel.maintable().layerDetails(viewModel.maintable().layerDetails()+);
同样在html部分:

a

但是,我无法触发
刷新页面
功能。我是否编写了错误的代码?

html
绑定不会连接任何数据绑定属性。你真的有两个选择来实现这一点

1-使用
模板
而不是html。使用您的内容创建一个模板,Knockout将管理添加/删除DOM元素以及连接数据绑定


2-设置layerDetails值后,调用
ko.applyBindings(您的视图模型,然后是NewRootElement)
。因此,您将传入要绑定的数据和创建的任何新元素的根。

是否应该是
viewModel.layerDetails(“您的新html”)
?到nEEbz:实际上,我想在in a循环中添加一个链接以产生分页效果,因此,我将新的html字符串添加到每个页面的属性中,而不是替换该属性!因为我想使用循环将html添加到每个项目的属性中,我没有使用第一个方法。我应用了第二种方法,现在它可以触发函数了。