Knockout js自定义绑定
knockout js custom bindings
我正在使用Knockout js自定义绑定来绑定div内的一些新的div元素,使用类和我从数据库中获取数据,它只适用于单个数据,如果数据多于一个,它再次获得绑定在相同的div内像我下面的代码,
//for single data it working
<div data-bind="foreach:items">
<ul data-role="listview">
<li>
<div databind="BindingImage({img:imageurl})" class="Image">
<div id="img1"><img src=1.png /></div>
</div>
</li>
</ul>
</div>
//for multiple data it not working
<div data-bind="foreach:items">
<ul data-role="listview">
<li>
<div databind="BindingImage({img:imageurl})"class="Image">
<div class="imageWrapper" id="img1"><img src=1.png /></div>
<div clas="imageWrapper" id="img2"><img src=2.png /></div>
</div>
for multiple data its create databind="BindingImage div, but inside the div it does not bind anything, i need to bind image2 in this div but its getting bind on first div itself,i need to bind first image inside the first BindingImage div and next one in another BindingImage div where i am doing wrong.
<div databind="BindingImage({img:imageurl})"class="Image"></div>
</li>
</ul>
</div>
//custom binding//
ko.bindingHandlers.BindingImage = {
update: function(element, valueAccessor) {
id+=1
var className = element.className;
imagewrapper= document.createElement('div');
imagewrapper.className = "imageWrapper";
imagewrapper.id = "img1"+id
document.querySelector("." +className).appendChild(imagewrapper)
}
};
主要有两个问题:
- 第一,
id=+1
。这将总是返回1
。这与i= parseInt(1)相同。应该是id+=1
- 第二个
document.querySelector("." +className).appendChild(imagewrapper)
,这将始终附加到第一个容器。将其替换为element.append()
或document.querySelectorAll("." +className)[id-1].appendChild(imagewrapper)
,考虑到id
将从1开始。
你也缺少关闭标签的ul
相关文章:
- 自定义控件中的双向绑定在SAPUI5中不起作用
- jquery数据表的自定义ko绑定
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- ListView的ItemTemplate内的自定义HtmlControl的数据绑定失败
- css绑定中的自定义类名
- 在 aurelia 中使用 repeat.for 绑定自定义元素的正确方法是什么
- 挖空绑定自定义组件,使其不与中心视图模型冲突
- 如何强制挖空以重新绑定自定义绑定
- 挖空视图模型绑定未定义错误
- 如何在 AngularJS 中绑定自定义事件
- Ko_selectize数组对象绑定未定义
- 无法绑定自定义元素
- 视图绑定未定义
- 在jQuery中绑定自定义事件时触发代码
- 如何在KendoUI上动态绑定列定义
- 材质角度复选框绑定自定义输入复选框
- 如何使用jQuery绑定自定义事件的函数
- 使用敲除绑定自定义事件
- 指令绑定未定义
- 从元素中解绑定自定义函数