DS.Model `relationships` 属性在记录的 `init` 中不可用?
The DS.Model `relationships` property is unavailable in record's `init`?
官方documentation for DS.Model描述:
当我这样做时:
App.Parent = DS.Model.extend({
children: DS.hasMany('child'),
init: function() {
this._super();
this.eachRelationship(function(foo, bar, baz) {
console.log('each relationship', foo, bar, baz);
});
}
});
...它打印出 children
关系。
然而,当我这样做时:
App.Parent = DS.Model.extend({
children: DS.hasMany('child'),
init: function() {
this._super();
console.log('realtionships', this.get('relationships'));
}
});
...它打印 undefined
!
为什么?我如何在记录初始化期间访问 relationships
属性,而不恢复到 eachRelationship
方法?
relationships
是在 class 而不是实例上定义的(属性 名称旁边的静态告诉我们这一点)。
var relationships = Em.get(App.Parent, 'relationships');
有一个 _relationships
(带下划线)属性 可用,它是 Object
官方documentation for DS.Model描述:
当我这样做时:
App.Parent = DS.Model.extend({
children: DS.hasMany('child'),
init: function() {
this._super();
this.eachRelationship(function(foo, bar, baz) {
console.log('each relationship', foo, bar, baz);
});
}
});
...它打印出 children
关系。
然而,当我这样做时:
App.Parent = DS.Model.extend({
children: DS.hasMany('child'),
init: function() {
this._super();
console.log('realtionships', this.get('relationships'));
}
});
...它打印 undefined
!
为什么?我如何在记录初始化期间访问 relationships
属性,而不恢复到 eachRelationship
方法?
relationships
是在 class 而不是实例上定义的(属性 名称旁边的静态告诉我们这一点)。
var relationships = Em.get(App.Parent, 'relationships');
有一个 _relationships
(带下划线)属性 可用,它是 Object