Knockoutのテンプレートレンダリングで奇妙な動作に気付きました。現在、コメントアウトされたテンプレートを使用した場合、レンダリング関数が呼び出されレンダリング後のKnockoutjs Htmlコメントをレンダリングする
私は簡単なノックアウト例を持っている...
var viewModel = {
stuff : ko.observable([{ id : 1, name : 'Thing'},
{ id: 2, name : 'Thingier' },
{ id : 3, name : 'Thingiest' }]),
render: function(el){
console.log(el);
}
}
$(function(){
ko.applyBindings(viewModel);
});
とHTML ...
<ul data-bind="template: { name: 'thingTemplate',
foreach: stuff,
afterRender: render }">
</ul>
<!--
<script id="thingTemplate" type="text/html">
<li>
<span data-bind="text: name"></span>
</li>
</script>-->
<script id="thingTemplate" type="text/html">
<span data-bind="text: name"></span>
</script>
、I jQuery(li)のconsole.logを取得します。
現在のテンプレートでreunder関数を呼び出すと、jQuery(コメント長= 0、nodeName = "#コメント"、nodeType = 8、more ...}、span)のconsole.logが得られます。
コメントノードとは何ですか?
ここでの作業フィドルだ... http://jsfiddle.net/jcreamer898/fqrv7/
それはそれはということですが、それは動作しないということではありませんレンダリング関数に渡されたelにはhtmlコメントとレンダリングされたspanタグがあります。 – jcreamer898