2016-10-10 9 views
2

mobx 라이브러리를 사용합니다. ReactJS와 잘 어울립니다. 내가 가진이 같은 관측 배열 :mobx가 강력한 타입의 객체를 관찰 할 기회가 없음

@observable items = []; 

나는이 방법으로 개체를 추가 할 때, 나는 예상대로 문제와 지정된 개체가 관찰 할 수 없습니다 있습니다.

let x = { 
Title: "sample title" 
} 

items.push(x); 

하지만 난 (사용 타이프)

export class SampleObject { 
    Title: string; 
    constructor(title: string) { 
     this.Title = title; 
    } 
} 

이 방법으로 새로운 객체를 미는 강력한 형식의 객체를 정의 할 때, 그것은 관찰되지 않습니다

items.push(new SampleObject("Sample Title")); 

어떻게 할 수 이 문제를 해결하십시오!?

x와 y의 차이점은 무엇입니까?

var x = { 
Title: "sample" 
} 

var y = new SampleObject("sample"); 
+0

어떤 오류가 발생합니까? – Alex

+0

오류가 없습니다. 배열 내부의 항목을 관찰 할 수 없습니다. –

+0

이상하게 보입니다. 왜 작동하지 않는지 이유가 없습니다. [MVCE] (http://stackoverflow.com/help/mcve)를 보여 주시겠습니까? – Alex

답변

4

MobX은 일반 객체를 변환 관찰 가능한 객체로 자동으로 가령에 할당 왜냐하면 클래스 인스턴스의 경우 그 클래스의 내부를 방해 할 수 있기 때문입니다.

클래스에서 필드 (제목)를 @observable으로 표시하면 좋을 것입니다. 참고 : https://mobxjs.github.io/mobx/refguide/object.html, 두 번째 글 머리글

+0

오. 그다지 직관적이지 않습니다. – Alex