2012-11-04 1 views
1

Ember보기 템플릿에서 루프가 실행 중입니다. 주요보기 중 하나에서Ember JS : 콘텐츠가 변경되면 자동으로 업데이트되도록 바인딩 루프가 표시됩니다.

, 그 내부의 콘텐츠를 내가 컨트롤러 콘텐츠를 반복하고 루프 :

{{#each version in versions}} 
    {{#each comment in version.comments}}</p><br/> 
    <p>{{comment.text}}</p> 
    {{/each}} 
{{/each}} 

내 코드에서 다른 App.Comment.createRecord(content);의로 새 코멘트를 작성할 때 템플릿이 자동으로 업데이트되지 않습니다. 어떻게 내용을 다시 렌더링 할 수 있도록 '미세 조정'합니까?

감사합니다.

+0

구조에 대한 자세한 정보를 제공 할 수 있습니까? 버전과 댓글 간의 관계를 어떻게 정의 했는가? –

+0

저는 ember-data를 사용하고 있습니다 만, 그것은 곧바로 hasMany 관계입니다. –

답변

1

내가 가진 새로운 코멘트를 작성되었습니다 App.Comment.createRecord(content);

... 사실 내가 사용해야 :

version.get('comments').createRecord(content);

createRecord 범위를 지정하여 렌더링되는 동일한 객체 인 Ember는 자동으로 p 개체가 변경되었고 예상대로보기가 업데이트됩니다.

감사합니다.

1

createRecord를 실행하면 버전 객체에서 hasMany 관계 배열이 자동으로 업데이트되지 않습니다. 관계 배열에 수동으로 작성된 주석 오브젝트를 추가하면 템플리트가 제대로 갱신되어야합니다.

version.get("comments").addObject(comment)

+0

감사합니다. 가까이에 있습니다. 내가 시도 할 때'가 rootState.loaded.created.inFlight 상태의 이벤트 setAssociation에 응답 할 수 없다는 오류가 발생합니다. –

+0

나는 대개 isValid 플래그에 대한 관찰자 콜백에 연결을 설정합니다. 나는 객체가 id를 가지고 있지 않고 유효하지 않은 객체를 연관 체로 설정할 수 없다고 생각한다. –

+0

지금 'isValid'에 의해 트리거 된 콜백에서'addComment (comment)'를 시도했지만 동일한 오류가 발생합니다. –