2017-05-03 14 views
1

나는 목록이 포함 된 다트 객체가 있습니다.변경 사항에 대한 목록에 리스너 만들기

class Test extends PolymerElement{ 
    List list = []; 

    addTask(item){ 
    list.add(item); 
    } 
} 

을 나는 다른 객체에 그 목록에 리스너를 구현하고 싶었 : 간단히 말해서

class listenerClass extends PolymerElement { 
    Test get _data => $['Object']; 
} 

그래서 개체가 게터을 따르며는 DOM에서 검색됩니다.

부모의 변화를 관찰 할 수있는 방법이 있습니까?

@Observe("_data.list") 
dataListChanged(_,__){ 
    var item = _data.list.last; 
    //do magic with item. 
} 

비공개이며 밤은 돔 또는 아무것도에 노출 ...하지만 그 통지 또는 아무것도 나던 있도록 목록 자체가 속성을 밤은 때문에 밑줄이 : 나는 다음 시도했다.

나는 청취자를 위해 일종의 청취자가되기를 바랬다.

내가 원하는 endstate는 위에 정의 된 하위 개체에 대한 참조 만 사용하여 항목이 목록에 추가 될 때마다 부모에서 함수를 실행하고 싶습니다. 이 _data는 Polymer를 통해 채워지지만,이 속성을 전혀 사용하지 않기 때문에 대답은 Pure dart 일 수 있습니다.

답변

0

이것은 폴리머가 작동하는 방식이 아닙니다. 폴리머 프레임 워크는 클래스에서 getter를 정의하고 올바른 알림을 내 보낸다는 것을 알 수있는 방법이 없습니다.

list 속성에 Test을 추가하고 listenerClass의 속성에 바인딩해야합니다. 그 변수를 관찰하십시오.

아마 폴리머 다트 프로젝트에서 관찰 가능성을 사용하려면 ObservableList을 사용하고 autonotify을 사용하면 더 편리 할 것입니다.