사용자가 요청할 때 데이터를 업데이트 할 수있는 경로가 있다고 가정 해 봅니다 (백엔드가 동일한 통화에 대해 다른 데이터를 반환한다고 가정합니다. 그냥 임의의 숫자).EmberJS : 데이터 모델을 새로 고치면 연결된 계산 된 속성이 업데이트되지 않음
export default Ember.Route.extend({
model() {
return this.get('store').findAll('foo');
},
actions: {
invalidateModel() {
this.refresh();
}
}
});
이 모델을 직접 사용하는 구성 요소는 예상대로 뷰를 업데이트합니다.
그러나 구성 요소가 모델을 관찰하는 계산 된 속성을 사용하는 경우 업데이트가 수행되지 않습니다.
템플릿
Model: {{#each computedModel as |m|}}{{m}}{{/each}}
<br>
<button {{action "refreshModel"}}>Refresh model</button>
전체 생식 용 구성 요소
computedModel: Ember.computed('model', function() {
return this.get('model').map(function(m) {
return `Computed: ${m.data.bar}`;
});
}),
, 당신은 체크 아웃 할 수있다 : 비 작동 계산 된 속성의 경우 https://github.com/myartsev/ember-computed-properties-on-data-model
를 최신 커밋이다 .
previous commit은 모델을 직접 사용할 때 모든 것이 올바르게 작동하는 것입니다.
무엇이 누락 되었습니까?
아직 엠버 슬랙에 가입해야합니다. https://ember-community-slackin.herokuapp.com/ :) – Subtletree
이것을 시도 했습니까?그것은 작동하지 않습니다 : (ember 데이터 모델은 배열이 아닌 클래스입니다 (적어도 클래스에는 배열이 있습니다) – myartsev
당신은 컴포넌트에 정확하게 액션을 보내지 않고 있습니다. – Subtletree