如何使用knockout将动态HTML注入绑定到内部div?

时间:2014-08-22 06:24:48

标签: jquery data-binding knockout.js

我想用动态HTML绑定动态HTML。 这里我附上两张图片作为参考资料。

在第一张图片中,我将使用knockout进行数据绑定。 有来自asp.net webservice Json格式的json对象。之后当我点击' +'图标然后我添加了html模板注入' +' item div,然后用新的json请求绑定该数据。

首先,我将ko.Applybindigs()与整个数据列表绑定,其中一个Viewmodel和相同的视图模型不适用于新注入的Html元素..

准备好即使我做绑定。

$(document).ready(function(){
 var ViewModel = function () {            
            var self = this;
             self.result = ko.observableArray('');
             self.newresult = ko.observableArray('');
         };
         var vmLab = new ViewModel();
         ko.applyBindings(vmLab);
});

在新的HTML元素注入' +'之后图标点击事件。然后尝试在" newresult"中添加json对象数组。 observalbe数组..但它得到错误。 "错误您无法多次将绑定应用于同一元素"

如何通过淘汰来实现这一点..从jquery添加一些Html并绑定相同的视图模型.. 请建议我或提供替代解决方案。

Bind  data-list

opened the data-list item

1 个答案:

答案 0 :(得分:0)

在foreach绑定中使用变量之前,应该在视图模型中声明变量。 看看这个:http://jsfiddle.net/po8cq1kx/3/

var ViewModel = function () {            
    this.result = ko.observableArray([]);              
};

var vmLab = new ViewModel();
ko.applyBindings(vmLab);

vmLab.result(updatedData);