我查看了Stackoverflow上的各种示例,但我似乎不明白get('length')是如何工作的。
我正在尝试获取辅助模型中的用户数量。我试图得到的方式('长度')可能有问题,但也许我还需要使用散列RSVP来获取当前模型和帮助模型的待办事项路线?
todo.js
def when_to_run
Time.now - 1.hour
end
todo.js
export default Ember.Controller.extend({
count: function() {
var helper = this.get('helper');
return helper.user.get('length');
}.property('helper.user.[]'),
todo.hbs
export default DS.Model.extend({
title: DS.attr('string'),
isCompleted: DS.attr('boolean', {defaultValue: false}),
list: DS.belongsTo('list', {async: true}),
user: DS.belongsTo('user', {async: true}),
comment: DS.hasMany('comment', {async: true}),
helper: DS.hasMany('helper', {async: true}),
});
helper.js
<p>
<span class="badge pull-left">14 hands</span>
<span class="badge pull-left">{{todo.count}}</span>
</p>
todo.js
export default DS.Model.extend({
user: DS.belongsTo('user', {async: true}),
todo: DS.belongsTo('todo', {async: true}),
});
答案 0 :(得分:1)
用户是单个对象,因此可能没有长度属性。使用异步属性,您需要使用promise表示法(以及getter)来访问它们。
helper.get('user').then(function(user){
console.log(user.get('someProperties'));
})