我不知道为什么,但我不能通过我的集合中的嵌套属性对我的集合进行排序。下面是该系列的截图。我可以通过如下所示的“title”属性成功排序,但不能通过rating.critics_rating或ratings.audience_score等嵌套属性进行排序。当我尝试注销嵌套属性的a或b时,我得到“未定义”。
这有效:
comparator: (a, b) ->
log 'comparing'
a = a.get('title') ## works
b = b.get('title') ## works
return 0 if a is b
if a > b then 1 else -1
这不是
comparator: (a, b) ->
log 'comparing'
a = a.get('ratings.critics_rating') ## doesnt work
b = b.get('ratings.critics_rating') ## doesnt work
...
答案 0 :(得分:2)
Model.get
访问模型上的属性,但不尝试访问嵌套属性:a.get('ratings.critics_rating')
等同于a.attributes['ratings.critics_rating']
,这不是您想要的。
请尝试a.get('ratings').critics_rating
,
comparator: (a, b) ->
log 'comparing'
a = a.get('ratings').critics_rating
b = b.get('ratings').critics_rating