Bir öğede birden çok veri bağlama özniteliğine nasıl sahip olunur?


95

Bir öğede birden çok veri bağlantısına ihtiyacım var. Örneğin, bir etiket üzerinde hrefhem bir hem de bir htmlveri bağlama istiyorum . Bunu denedim a

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

Ama bu işe yaramıyor. Görünüşe göre nakavt yalnızca bir data-bind özelliği bağlamayı destekliyor mu? Bir öğeye hem hrefiç hem de htmlözel bir " data-prop" öznitelik nasıl bağlanır ?

Yanıtlar:


128

Bunun gibi:

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

Virgülle ayrılmış bağlamalar kullanırsınız - öznitelik bir nesneyi iletmekle aynıdır:

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

Veya attraynı anda birden çok bağlama hakkında soru soruyorsanız :

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

Ayrıca, viewModel.tasks = ko.observableArray (tsks) ise, viewModel.tasks = [new Array] değiştirilirse, o dizinin değiştirildiğini nasıl anlarsınız
user960567

Bir ko.observable değerini ayarlarken, bunu böyle yapmayı deneyin: viewModel.tasks([1,2,3]);. Yani bunu bir fonksiyon olarak adlandırıyorsunuz, yeni değeri parametre olarak
iletiyorsunuz

2

Data-bind kullanarak kaynak özelliğini ve tıklama olayını bu şekilde uyguladım. Yararlı bulabilirsin.

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

1

Ben sadece kullanıyorum:

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

bir onay kutusu öğesi için.


1

, aşağıdaki gibi birden çok özelliği kullanabilirsiniz

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

bunun gibi nesne

{ url: 'http://stackoverflow.com', id:'newid' , classvalue: 'classname' }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.