2014-10-03 4 views
6

예상되는 Ember.Component 격리 동작을 이해하는 데 문제가 있습니다. 동일한 구성 요소의 여러 인스턴스를 렌더링하면 구성 요소간에 속성이 공유되지 않아야합니다.Ember 구성 요소 속성이 작동하지 않음

구성 요소의 속성을 업데이트하면 (구성 요소 자체 내에서) 페이지에 현재 렌더링 된 해당 구성 요소의 다른 인스턴스에서 동일한 속성이 업데이트됩니다. http://jsbin.com/naworoyimoto/1/edit

이 버그인가, 아니면 분리가 Ember.Component에서 작동하는 방법 내가 오해하고있다 : 여기

이 문제의 예입니다?

+0

가능한 중복 http://stackoverflow.com/questions/19070843/shared-state-in-ember 구성 요소) – sunrize920

답변

16

JavaScript 객체 참조의 우스운 성격을 경험했습니다. 나는이 문제를 잠깐 동안 만 짚어 봤고 클래스 정의의 속성에 배열을 정의했기 때문에 클래스의 모든 인스턴스가 동일한 배열 객체를 참조하게 만들었습니다.

일반적으로이 문제를 해결하는 방법은 배열로 설정할 속성을 null로 설정 한 다음 init 메서드에서 배열을 설정하는 것입니다. 이렇게하면 각 인스턴스가 다른 인스턴스와 배열 참조를 공유하는 대신 자체의 배열을 생성합니다.

가 여기 내 수정을 적용하여 jsbin 예를 들어 내 포크의 : http://jsbin.com/xulidefikuyu/1/

[엠버 구성 요소의 공유 상태 (의
+0

스팟 답안, 감사합니다! –

관련 문제