如果我想在一個視圖渲染完成後調用一個jquery插件(例如在dom中插入一個表),除了使用window.setTimeout()做這件事之外,是否還有其他可能性?ember.js路由渲染:用setTimeout()操作dom?
此代碼的工作(1毫秒超時;那怪異):
Route.HomeRoute = Ember.Route.extend({
renderTemplate: function() {
this.render("home"); // render the home view
window.setTimeout(function() {
$(".tables").insertTables(); // this would add a table
}, 1);
}
})
但這碼不起作用:
Route.HomeRoute = Ember.Route.extend({
renderTemplate: function() {
this.render("home"); // render the home view
$(".tables").insertTables(); // this would add a table
}
});
我知道,有Ember.View.didInsertElement() ,但是因此我必須在父View上設置一個回調函數,並且只是想知道爲什麼上面的代碼示例沒有按預期工作。
非常感謝!
我認爲這是我們第二次在同一時間回答:) – 2013-03-21 09:31:21
總是很高興看到另一個人試圖解釋同樣的問題:-) – mavilein 2013-03-21 10:25:36