꽤 비싼 타사 UI 요소를 설정하고 렌더링하는 역할을하는 App.WidgetView
이 있습니다.이 UI 요소는 widget
입니다. 이 widget
은 refresh()
방법을 사용합니다. 나는 에 refreshWidget()
메서드를 정의했으며이 메서드는 widget.refresh()
을 호출했습니다.Ember.js - 핸들 막대 내에서 초기화 된 뷰에서 메서드 호출
App.WidgetView = Em.View.extend({
content: null,
widget: null,
init: function() {
this._super();
//initialize widget using content
},
refreshWidget: function() {
this.get('widget').refresh();
}
});
나는 지금은 App.widgetController
에 refreshAll()
방법을 가지고하는 방법에 너무 슈어하지 메신저 필요 App.widgetController
{{#each App.widgetController}}
{{view App.WidgetView contentBinding="this"}}
{{/each}}
에서 데이터를 당기는 #each
루프를 사용하여 내 페이지에 렌더링 WidgetView
s의 목록을 가지고 이것을 깨끗하게하십시오. 지금 나는 에 속성을 가지고 있으며 0
에서 시작하여 refreshAll
이 호출 될 때마다 불쾌감을 느낍니다.
App.widgetController.reopen({
refresher: 0,
refreshAll: function() {
this.incrementProperty('refresher');
}
});
그런 다음 App.WidgetView
에 App.widgetController.refresher
에 바인딩 된 refresherBinding
및 refresher
이 변경 될 때 refreshWidget
를 호출하는 관찰자가
App.WidgetView.reopenClass({
refresherBinding: 'App.widgetController.refresher',
refresherChanged: function() {
this.refreshWidget();
}.observes('refresher')
});
이 수행 할 수있는 clearner 방법이 있는지 궁금 작동하지만 메신저 그것.