我有这个Ember View代码:
{{#view "tabla"}}
<table>
...
</table>
{{/view}}
我需要在呈现异步调用的数据后向HTML表运行javascript代码。
我试着这样做:
App.TablaView = Ember.View.extend({
didInsertElement : function() {
Ember.run.scheduleOnce('afterRender', this, function() {
javascript code..
});
}
但是在没有数据的情况下渲染表时执行。
我还尝试在异步函数的回调中调用javascript代码,但数据尚未呈现给视图。
执行绑定后是否触发了任何事件?
谢谢!
答案 0 :(得分:0)
我有一些相同的问题,我最终解决了这个问题:
didInsertElement: function() {
_this = this;
if (this.get('element').addEventListener) {
this.get('element').addEventListener ('DOMNodeInserted', function() {
Ember.run.scheduleOnce('afterRender', _this, function() {
javascript code..
});
}, false);
}
//for images
$( "img",this.$()).load(function() {
Ember.run.scheduleOnce('afterRender', _this, function() {
javascript code..
});
});
}
请注意,在此解决方案中,您的&#34; javascript代码..&#34;代码可以多次调用(和执行)。这不是我的问题,但它可能是你的问题。