I need to have multiple data bindings on one element. For example, I want a href
as well as a html
data-binding on one a
tag. I have tried this,
<a data-bind="html: name" data-bind="attr: { href: url }" data-bind="attr: { 'data-prop': xyz }"> </a>
But this doesn't work. It seems knockout only supports binding one data-bind
property? How to bind both the href
, the inner html
, and a custom "data-prop
" attribute on one element?
A data binding connects data from a custom element (the host element) to a property or attribute of an element in its local DOM (the child or target element). The host element data can be a property or sub-property represented by a data path, or data generated based on one or more paths.
Datafld attribute specify a column name from the data source object. It is like datafld attribute. It is used for data binding under Internet Explorer 4.
Data binding in concept is quite simple. On one side, you have a data model and on the other side, you have an interface, often called a view. The idea is that you want to “bind” some piece of data to something on the view so that when the data changes, the view changes.
Like this:
<a data-bind="html: name, attr: { href: url }">
You use comma-separated bindings - the attribute is the same as passing an object:
{ html: name, attr: { href: url } }
Or, if you're asking about multiple attr
bindings at once:
<a data-bind="html: name, attr: { href: url, 'data-prop': FullName }">
This is how I implemented the source attribute and click event using data-bind. You may find it useful.
<img data-bind="{click: function(data, event) {ESVendorWidget.loadFunction(data,event)}, attr: {src: $data.Photo.PhotoUrl }}" alt="package pic" class="big" />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With