我有一个使用砖石和Ember JS的应用程序我尝试通过选择器搜索 DOM 元素,但它检索null
似乎我在模板渲染之前就这样做了。请帮我解决它。
问问题
1302 次
2 回答
5
@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
}
});
希望能帮助到你。
于 2013-07-31T17:59:21.883 回答
1
为您的 Route 和 Template 创建相应的 View,然后覆盖该didInsertElement
方法。
于 2013-07-31T17:48:41.920 回答