2016-10-04 5 views
2

먼저 ember 2를 사용하고 있습니다. 백 엔드를 요청하고 일부 데이터를 반환합니다. 그런 다음, 나는이 데이터를 엠버 스토어에있는 모델에 푸시했다. 이 모델을 업데이트 할 때 몇 가지 작업을 수행하려고합니다. 그렇다면 매장에서 모델을 관찰 할 수있는 방법이 있습니까? 미리 감사드립니다.ember 저장소에서 ember 모델 변경시 옵저버를 설정할 수있는 방법이 있습니까?

답변

2

findAll은 라이브 배열을 반환하므로 findAll 결과에 대한 종속 키를 가질 수 있으므로 모델 변경이 발생할 때마다 관찰자/계산 된 속성이 트리거됩니다.

userModel:Ember.computed(function() { 
    return this.get('store').findAll('user'); 
    }), 

userModelObserver: Ember.observer('userModel.[]',function(){ 
    console.log('observer triggered'); 
    }), 

이것은 이상적인 해결책이 될 수 있습니다.

+0

저와 함께 잘 작동합니다. 하지만 어떻게 작동하는지 알고 싶습니다. 내 관점에서는 관찰자가 변화 될 때까지 계산자를 호출 할 것이라고 생각합니다. 그게 맞습니까? – omarzouk

+0

예. 'findAll'은'Promise' 응답을 리턴하고'RecordArray'로 해석 될 것이고 RecordArray가 변경되는 것을 관찰하고 있습니다. 기본적으로'findAll'는 저장소와 동기화됩니다. 이는 저장소가 업데이트 된 라이브 배열도 업데이트 될 때마다 의미합니다. – kumkanillam

관련 문제