2014-05-14 3 views
2

나는이 같은 구조 모델 연기 객체를 얻고있다 :CanJS에서 연기 된 모델의 길이를 얻으려면 어떻게해야합니까?

enter image description here

이 어떻게 (이 경우 세)이 객체 내부에 존재 얼마나 많은 개체를 확인할 수 있습니다. Object.keys(myObject).length을 사용하면 오브젝트 옵저버와 _computeBindings, _bindings 등의 다른 데이터도 포함됩니다. 길이를 계산할 때 hasOwnProperty을 사용하려고했지만 심지어 원하는 결과를 얻지 못했습니다.

can.each(myObject,function(myObject,index){ 
// Get the last index value and put it into some variable 
}); 

하는 API는이를 위해 거기 : 나는 알아낼 수

한 가지 방법은 인덱스 반복이 같은 마지막 인덱스 값을 얻을 수 있습니다?

답변

2

can.Map에는 keys 함수가 있습니다.이 함수는 Map의 키 배열을 가져 오며 그 배열의 길이를 확인하여 얼마나 많은 객체를 얻을 수 있습니다.

can.List를 데이터 구조로 사용하면 작동합니다. 데이터의 키는 숫자이며 길이를 확인해야합니다. 모든 것이 가능합니다. 목록이 만들어졌습니다.

+0

can.Map.keys (즉, myObject를) :) –

0

모델 _data 속성은 바인딩없이 바로 모델의 복사본을 포함 myObject.attr('length')

0

사용해보십시오. 이 작업을 수행하는 가장 쉬운 방법은 사용하는 것입니다 : 많은 목적 : 감사를 해결할 .length

Object._data.length