Events 为什么击倒触发afterRender事件两次?
我有一个完全加载的敲除模板,但是afterRender事件触发了两次。。我认为是我的数据对象中的某个问题导致函数被意外调用一次,被afterRender调用一次,但我已将其减少为警报,它仍然被调用两次 这是html代码Events 为什么击倒触发afterRender事件两次?,events,knockout.js,Events,Knockout.js,我有一个完全加载的敲除模板,但是afterRender事件触发了两次。。我认为是我的数据对象中的某个问题导致函数被意外调用一次,被afterRender调用一次,但我已将其减少为警报,它仍然被调用两次 这是html代码 <body> <div id="control-wrap" data-bind="template: { name: 'control_bar', data: App.Controls, afterRender: function(){ alert('test
<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 inspector跟踪触发事件的内容吗?谷歌地图渲染器会把事情搞砸吗?带有模板的foreach会导致父模板调用触发多次吗
白原子
更新:
奇怪还在继续。。。如果我将模板设置为空,它只会触发一次。但如果有任何内容(即使只有一个“.”),afterRender将触发两次。不,这是奇怪的部分。。一次是在内容出现在页面上之前,第二次是在…之后找到它
这似乎是外部模板引擎中的错误。拿出一个自我。参考,问题就解决了
谢谢你的帮助,你让我对代码做了更多的简化,这让我解决了这个问题
干杯 也许可以试着在一个JSFIDLE中获得它。你可以从这个开始:嗯。。对小提琴很完美。我已经把它缩小到一个关于佩奇的奇怪问题。更新了问题。