小编pip*_*y3k的帖子

EmberJS视图 - 检测是否已呈现所有子视图

场景:

  • 呈现集合(异步加载)
  • 两个视图:表示笔记列表的NoteView和表示单个笔记的NoteOnListView
  • 我必须运行一些代码(masonry.js)来放置它们,但它需要首先渲染所有注释,它需要知道这些子项的计数和属性

我有一个模板,notes.hjs:

{{#each note in controller}}
    {{view App.NoteOnListView}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

和观点:

App.NotesView = Ember.View.extend({
    didInsertElement: function() {
        console.log('the list has been rendered');
    }
});

App.NoteOnListView = Ember.View.extend({
    didInsertElement: function() {
        console.log('a note has been inserted');
    },
    afterRender: function() {
        console.log('a note has been rendered');
    }
});
Run Code Online (Sandbox Code Playgroud)

控制台输出:

the list has been rendered 
XHR finished loading: "http://localhost:3000/notes"
a note has been rendered
a note has been inserted
a note has been rendered
a note has been inserted …
Run Code Online (Sandbox Code Playgroud)

javascript views render callback ember.js

4
推荐指数
1
解决办法
2331
查看次数

标签 统计

callback ×1

ember.js ×1

javascript ×1

render ×1

views ×1