我有一个完美加载的淘汰赛模板,但是 afterRender 事件触发了两次。我认为这是我的数据对象中的一些问题,导致该函数被意外调用一次,一次被 afterRender 调用,但我已将其减少为警报,它仍然被调用两次。
这是html代码...
<body>
<div id="control-wrap" data-bind="template: { name: 'control_bar', data: App.Controls, afterRender: function(){ alert('test');} }"></div>
<div id="map_canvas" style="width:100%; height:100%"></div>
<div id="info-window-container" data-bind="template: { name: 'info-yacht-racing', foreach: App.Transponders.transponders, afterRender: App.Tracker.infoWindowInit}"></div>
<div id='notice-overlay'></div>
</body>
最大的问题是我不知道在哪里解决这个表单?任何的想法?我可以使用 Chrome 检查器来跟踪触发事件的原因吗?谷歌地图渲染器会搞砸吗?带有模板的 foreach 会导致父模板调用多次触发吗?
白原子
更新:奇怪继续......如果我将模板设为空白,它只会触发一次。但是如果有任何内容(即使只是一个'.'),afterRender 会触发两次。不,这是奇怪的部分..一次是在内容出现在页面上之前,第二次是之后....