答案 0 :(得分:5)
@GJK答案是正确的,我只是想提供一个有效的例子:http://jsbin.com/enijad/3/edit
App.IndexView = Ember.View.extend({
didInsertElement: function() {
var $container = $('#container');
$container.masonry({
columnWidth: 150,
itemSelector: '.item'
});
}
});
当视图插入DOM时,将调用didInsertElement
函数,因此可以安全地初始化其他库。
另外值得一提的是,如果在从DOM中删除视图后需要进行一些清理,则可以在didInsertElement的对应钩子willDestroyElement中执行此操作。
示例:
App.IndexView = Ember.View.extend({
didInsertElement: function() {
// do initialization here
},
willDestroyElement: function() {
// and here you can remove stuff safely
}
});
希望它有所帮助。
答案 1 :(得分:1)
为路线和模板创建相应的视图,然后覆盖didInsertElement
方法。