我得到的模型延迟对象的结构如下:
如何找出此对象中有多少个对象(在本例中为三个)。如果我使用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?
答案 0 :(得分:2)
can.Map有一个keys函数,它会为你提供一个Map数组中的键,你可以通过检查数组的长度来获取多少个对象。
使用can.List作为您的数据结构也可以。数据中的键是数字键,您需要检查长度,以及为其构建的所有内容。
答案 1 :(得分:0)
尝试使用myObject.attr('length')
答案 2 :(得分:0)
模型_data属性仅包含没有绑定的模型的副本。最简单的方法是使用:
Object._data.length