2011-11-14 21 views
38

के लिए डेटा-बाइंड href विशेषताएँ मैं नॉकआउटजेएस व्यू मॉडेल फ़ील्ड में एंकर विशेषताओं को बांधने की कोशिश कर रहा हूं। मैंने इस तरह कुछ करने की कोशिश की:एंकर टैग

<a data-bind="href: Link, value: Title"></a> 

लेकिन यह काम नहीं करता है। जहां मैं HTML तत्वों के लिए संभावित डेटा-बाइंड मानों की एक सूची प्राप्त कर सकता हूं?

उत्तर

90

आपको attr बाइंडिंग का उपयोग करने की आवश्यकता है, यह आपको अपनी पसंद की कोई भी विशेषता सेट करने की अनुमति देता है।

उदाहरण के लिए:

<a data-bind="attr: { href: Link, title: Title }, text: Title">xxx</a> 
12

यहाँ आप हर संभव बाइंडिंग की एक सूची पा सकते हैं।

http://knockoutjs.com/documentation/value-binding.html

बाईं ओर (साइडबार) पर

आप पाठ, attr शैली और अधिक जैसे अन्य बाइंडिंग के लिंक मिलेंगे।

आप इस

attr: { href: Link}, text: Titlexwrs की तरह टिप्पणी की

एक टेम्पलेट http://knockoutjs.com/documentation/template-binding.html

आशा है कि यह

+0

धन्यवाद। समाधान मिला – xwrs

1

में मदद करता है एक वैकल्पिक @RichardFriend's answer करने के लिए के रूप में (और अधिक सामान्यतः विकल्प का इस्तेमाल किया है या बना सकते हैं), आप अपने विचारों को कम करने के लिए एक कस्टम बाध्यकारी हैंडलर लिख सकते हैं संक्षिप्त पुन:

ko.bindingHandlers['href'] = { 
 
    update: function(element, valueAccessor) { 
 
    element.href = ko.utils.unwrapObservable(valueAccessor()); 
 
    } 
 
}; 
 

 
ko.applyBindings({ 
 
    myUrl: 'http://stackoverflow.com', 
 
    myText: 'Stack Overflow website' 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> 
 

 
<a data-bind="href: myUrl, text: myText"></a>

संबंधित मुद्दे