पर पुनरावृत्त करने के लिए प्रत्येक 'अवलोकन योग्य' के 'मूल्य' फ़ील्ड की गणना करने की कोशिश कर रहा हूं। फ़ायरबग कंसोल में: "this.features कार्य नहीं है त्रुटि"ko.utils.array का उपयोग करने के लिए एक अवलोकन
(function(){
function objFeatures(name,price) {
return {
name: ko.observable(name),
price: ko.observable(price),
removeFeatures: function() {
appViewModel.features.remove(this);
}
}
}
var appViewModel = {
features: ko.observableArray([
new objFeatures("Feature1", 20),
new objFeatures("Feature2", 20)
]),
grandTotal: ko.computed(function() {
var total = 0;
ko.utils.arrayForEach(this.features(), function() {
total += this.price();
})
return total;
})
};
ko.applyBindings(appViewModel);
}());
जब मैं इस चलाने का प्रयास, मैं एक मिल: मैं कोड निम्नलिखित अब तक की है।
मैं क्या गलत कर रहा हूं?
मैं पहले साथ चला गया दृष्टिकोण, अब मैं 'this.price()' – nthapa13
तक पहुंच नहीं पा रहा हूं अंत में मैंने उपयोग किया (मुझे बिल्कुल पता नहीं है कि यह कैसे काम करता है) --- 'var self = this; $ .each (self.features(), function() { कुल + = this.price(); }); 'लेकिन ko.utils.arrayForEach का उपयोग अभी भी काम नहीं करता है, हालांकि आपकी प्रतिक्रिया के लिए धन्यवाद। – nthapa13
@ Nthapa13 मैंने उस वाक्य पर सिंटैक्स को नहीं देखा था जिसका आप उपयोग कर रहे थे। मैंने उपर्युक्त उत्तरों को यह दिखाने के लिए अद्यतन किया है कि आपने 'ko.utils.arrayForEach' में निर्दिष्ट फ़ंक्शन को आइटम को अपना पहला तर्क प्राप्त किया है, तो आपको फ़ंक्शन में' this' का उपयोग करने की आवश्यकता नहीं है। –