यह एक सरल दृश्य मॉडल है
var केक = समारोह (आईडी, नाम, मूल्य , छवि) {this.id = ko.observable (आईडी); this.name = ko.observable (नाम); this.price = ko.observable (कीमत); this.image = ko.observable (छवि); }; Var पुरानाकैक्स = को.ओस्सेवेबल ऐरे ([नया केक ('एचएसजे 525', 'के नाम का केक', 54.30, 'http: //placehold.it/160x100'), नया केक ('एचएसजे 526', 'अन्य केक', 64.30 , 'Http: //placehold.it/160x100'), नया केक ('एचएसजे 527', 'एक अन्य रोक्फोर्ट', 84.30, 'http: //placehold.it/160x100'), नया केक ('एचएसजे 528', 'और द लस्ट ', 44.30,' http: //placehold.it/160x100 '),]) var viewModel = function () {var self = this; self.cakeBox = oldCakes; } Window.view_model = नया दृश्यमॉडल (); ko.applyBindings (window.view_model); और यह HTML है
div.span12 (डेटा-बाइंड = 'foreach: केकबॉक्स') div.row-fluid div.span4 span ( डेटा-बाइंड = 'टेक्स्ट: $ डेटाकॉकबॉक्स ()। नाम ()') और यह त्रुटि है
अनचाहे त्रुटि: में असमर्थ पार्स बाइंडिंग संदेश: प्रकार एरर: ऑब्जेक्ट [ऑब्जेक्ट ऑब्जेक्ट] में 'केकबॉक्स' का कोई तरीका नहीं है; बाइंडिंग वैल्यू: टेक्स्ट: $ data.cakeBox ()। नाम () क्यों ???
अपने HTML को मानते हुए कुछ इस तरह दिखता है: & lt; div डेटा-बाइंड = "foreach: cakebox" & gt; & Lt; span data-bind = "text: $ data.cakeBox ()। नाम ()" & gt; & lt; / span & gt; & Lt; / div & gt; तब आपकी समस्या दूसरे डेटा बाध्यकारी के साथ है। जब आप foreach बाध्यकारी करते हैं, तो उस ब्लॉक के सभी बाँधों को अग्रगमन में वर्तमान तत्व का संदर्भ मिलेगा इसलिए $ डेटा आपके सरणी में एक सदस्य को संदर्भित करता है। यह कैसा दिखना चाहिए:
& lt; span डेटा-बाइंड = "टेक्स्ट: नाम" & gt; & lt; / span & gt; क्योंकि नाम वर्तमान बाध्यकारी संदर्भ की एक संपत्ति है।
No comments:
Post a Comment