0
나는 내가 다음 방법으로 그것을 만든 웹 소켓을 통해 내 모델을 업데이트하려고 :WebSocket을 통해 모델을 업데이트하는 방법은 무엇입니까?
socket.on('message', function (jsonObj) {
if (jsonObj.action && jsonObj.action == 'consultationReload')
{
self.store.all('consultation').forEach(function(c) {
if (c.get('id') == jsonObj.consultationId) {
c.reload();
}
});
return;
}
그러나 c.reload()
는 API에 요청합니다. 그리고 나는 websocket에서 메시지에이 데이터를 첨부 할 수있는 추가 요청이라고 생각합니다. 하지만 질문은 webSocket에서 이러한 json 데이터로 모델을 다시로드하는 방법입니까?
http://emberjs.com/api/data/classes/DS.Store.html#method_push
http://emberjs.com/guides/models/pushing-records-into-the-store/
는 그 시도했지만 상담 모델은 사용자 모델과 기록 모델에 합류했다. 그리고'c.reload()'는 조인 된 모든 모델을 업데이트하지만'push'는 상담 모델 만 업데이트합니다. 그렇다면 각 모델에 대해 'push'를 호출해야합니까? – Dmitro다른 모델의 레코드가있는 경우 – Kingpin2k
'this.store.pushPayload ('consultation', jsonObj.consultationData);'그것은 저에게 적합합니다. 그러나 사용자 모델 만 업데이트하려는 경우 한 가지 더 궁금한 점이 있습니다. 사용자 모델이 업데이트 된 가입 된 컨설테이션 모델에 대해 어떻게 말해야합니까? 'this.store.push ('user', userData);를 시도했기 때문에 상담 모델'this.get ('user.status')'에 들어가려고 할 때 일부 속성을 계산하기 위해 나는 오래된 값을 얻는다. user.status – Dmitro