如何有一个元素在多个数据绑定属性?(How to have multiple data-bind a

2019-06-24 16:16发布

我需要有一个元素在多个数据绑定。 例如,我要一个href以及一个html数据绑定在一个 a标记。 我曾经尝试这样做,

<a data-bind="html: name" 
   data-bind="attr: { href: url }" 
   data-bind="attr: { 'data-prop': xyz }">
</a>

但是,这是行不通的。 这似乎淘汰赛只支持绑定一个 data-bind属性? 如何将两者结合href ,内html和定制的“ data-prop一个元素的”属性?

Answer 1:

像这样:

<a data-bind="html: name, attr: { href: url }">

您可以使用逗号分隔的绑定 - 属性是一样的传递对象:

{
    html: name, 
    attr: { href: url }
}

或者,如果你问多attr绑定一次:

<a data-bind="html: name, attr: { href: url, 'data-prop': FullName }">


Answer 2:

这是我是如何实现的源属性和使用数据绑定单击事件。 您可能会发现它很有用。

<img data-bind="{click: function(data, event) {ESVendorWidget.loadFunction(data,event)},
                 attr: {src: $data.Photo.PhotoUrl }}"
     alt="package pic" class="big" />


Answer 3:

我简单地使用:

<input type="checkbox"
    data-bind="click: callFunction(), checkedValue: 0, checked: Card.Days">

对于一个复选框元件。



Answer 4:

您可以通过使用多个属性,像下面

<a data-bind="attr: { href: url, id: id , class: classvalue}">

反对这样的

{ url: 'http://stackoverflow.com', id:'newid' , classvalue: 'classname' }


文章来源: How to have multiple data-bind attributes on one element?