CollectionViewを含むContainerViewがあります。このCollectionViewが画面にレンダリングされた後、jquery 関数を実行する必要があります。この関数は、基本的にレンダリングされたテンプレートのコンテンツを調べて、いくつかの表示変更を実行します。
CollectionViewのdidInsertElement内でその jquery を実行すると動作しますが、CollectionView内のすべての要素に対して実行されますが、最後に 1 回実行するだけで十分です。それを指定するにはどうすればよいですか?
http://jsfiddle.net/JFqNr/ (メモは jsfiddle または何らかの理由でレンダリングされませんが、構造を示すためだけに表示されます)
App = Ember.Application.create();
App.FooContainerView = Ember.ContainerView.extend({
childViews: ['elementList'],
elementList: Ember.CollectionView.extend({
content: function() {
return [
{ Title: "Dashboard", ID: "dashboard" },
{ Title: "Invoices", ID: "invoices" },
{ Title: "Expenses", ID: "expenses" },
{ Title: "People", ID: "people" },
{ Title: "Reports", ID: "reports" },
{ Title: "Settings", ID: "settings" }
];
}.property(),
template: Ember.Handlebars.compile( '{{view.content.title}}' ),
didInsertElement: function() {
// perform jquery function
}
}),
didInsertElement: function() {
// does not work if perforemed here
}
});
App.initialize();