【发布时间】:2013-08-01 02:11:26
【问题描述】:
【问题讨论】:
标签: ember.js
【问题讨论】:
标签: ember.js
@GJK 答案是正确的,我只想提供一个工作示例:http://jsbin.com/enijad/3/edit
App.IndexView = Ember.View.extend({
didInsertElement: function() {
var $container = $('#container');
$container.masonry({
columnWidth: 150,
itemSelector: '.item'
});
}
});
didInsertElement 函数将在视图插入 DOM 时被调用,因此可以安全地初始化额外的库。
另外值得一提的是,如果您需要在视图从 DOM 中删除后进行一些清理,您可以在 didInsertElement 的对应钩子 willDestroyElement 中执行此操作。
例子:
App.IndexView = Ember.View.extend({
didInsertElement: function() {
// do initialization here
},
willDestroyElement: function() {
// and here you can remove stuff safely
}
});
希望对你有帮助。
【讨论】:
为你的 Route 和 Template 创建一个对应的 View,然后重写 didInsertElement 方法。
【讨论】:
didInsertElement() 是反模式。