1
Ember에서 어레이의 변경 사항을 어떻게 볼 수 있습니까? 내가 모델에서 원시 객체 데이터를 사용 타다 남은 구성 요소를 가지고,하지만 난 구성 요소 내에서 배열 속성을 사용하고있는 문제를 설명하는 자체가 좋아 :컨트롤러/구성 요소 내의 배열 변경 사항을 관찰하는 방법
init:function(){
this._super();
var arr = Ember.A([
Ember.Object.create({"shelfNo": 1, "noOfItems": 2}),
Ember.Object.create({"shelfNo": 2, "noOfItems": 3}),
Ember.Object.create({"shelfNo": 3, "noOfItems": 2})]
);
this.set("someArray",arr);
//DOES NOT WORK
this.get('someArray').addArrayObserver(function() {
Ember.ObjectController.create({
arrayWillChange: function (observedObj, start, removeCount, addCount) {
console.log("in arrayWillChange");
},
arrayDidChange: function (array, start, removeCount, addCount) {
console.log("in arrayDidChange");
}
});
});
}
나는 또한 시도 :
testObserver: function(){
//DOES NOT WORK
console.log("here");
}.observes('[email protected]')
그러나 모두가 didn를 ' 나를 위해 일해라. http://jsbin.com/EkumOjA/1/
감사합니다, 디
감사 마르 jsbin 업데이트, 내가 놓친 것을 실현 당신. 나는 .observes ('someArray @ each') 대신 .observes ('someArray. @ each')를 써야했는데, 나는 "."을 놓쳤다. 귀하의 jsbin 없이는 내 문제를 알아낼 수 없을 것입니다. 감사. –
당신은 오신 것을 환영합니다. 'someArray. @ each '는 배열의 속성을 관찰하기 때문에'someArray. []'를 사용하면 콘텐츠 변경을 관찰하고 싶다면 각 항목에 리스너를 추가하므로 단지 'someArray. []'. –