9
通常,我是KnockoutJS中模板數據綁定的afterAdd屬性的忠實粉絲。但是,我發現我的afterAdd回調總是被擊中3次,我不知道爲什麼。我做錯了什麼嗎?KnockoutJS調用空白元素的Add函數
回調的工作是這樣的:
- 電話1:textnode
- 召喚2:我不在乎實際的元素有關
- 召喚3:textnode
要應付,我所有的處理程序最終檢查isElementContentWhitespace,如下所示:
HTML
<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>
JS
my.ns("mme.ko");
my.ko = (function() {
"use strict";
return {
itemAdd: function (elem, idx, val) {
if (elem.isElementContentWhitespace) { return; }
/*** do stuff here ***/
}
};
}());