सामान्य रूप से, मैं नॉकआउटजेएस में टेम्पलेट डेटाबेसिंग के बाद संपत्ति का एक बड़ा प्रशंसक हूं। हालांकि, मुझे लगता है कि मेरे बाद अतिरिक्त कॉलबैक हमेशा 3 बार मारा जाता है, और मुझे यकीन नहीं है कि क्यों। क्या मैं कुछ गलत कर रहा हूँ?knockoutJS कॉलिंग के बाद व्हाइटस्पेस तत्वों पर अतिरिक्त फ़ंक्शन
कॉलबैक इस तरह काम करते हैं:
- कॉल 1: textnode
- कॉल 2: वास्तविक तत्व मुझे परवाह के बारे में
- कॉल 3: textnode
सामना करने के लिए, मेरे संचालकों के सभी निम्न के रूप में IsElementContentWhitespace के लिए चेक होने का अंत हो:
एचटीएमएल
<ul class="t" data-bind="template: {name: 'itemTmplt', foreach: items, afterAdd: function(elem, idx, val) {my.ko.itemAdd(elem, idx, val);} }">
</ul>
<script id="itemTmplt" type="text/html">
<li class="tbl" data-bind="attr: {id: name}">
<h3 data-bind="text: name"></h3>
</li>
</script>
जे एस
my.ns("mme.ko");
my.ko = (function() {
"use strict";
return {
itemAdd: function (elem, idx, val) {
if (elem.isElementContentWhitespace) { return; }
/*** do stuff here ***/
}
};
}());