[英]Ember.js: Getting value from templates having belongsTo relationship
I'm having problem with getting the value when creating new record having belongsTo relationship. 我在创建具有belongsTo关系的新记录时获取值时遇到问题。
// templates/components/user.hbs
First Name:
{{view Ember.TextField valueBinding="user.name.first" required="required"}}
Middle Name:
{{view Ember.TextField valueBinding="user.name.middle" required="required"}}
Last Name:
{{view Ember.TextField valueBinding="user.name.last" required="required"}}
// models/user.js
export default DS.Model.extend({
name: DS.belongsTo('name', {embedded: 'always'}),
});
// models/name.js
export default DS.Model.extend({
first: DS.attr('string'),
middle: DS.attr('string'),
last: DS.attr('string')
});
// from my route
model: function() {
return this.store.createRecord('user');
}
// create action
var user = this.controller.get('model');
console.log(user.get('name').get('first')); // it says that the 'name' is null
But when I tried to edit the persisted data from the backend, value from 'name' can be accessed. 但是,当我尝试从后端编辑持久化数据时,可以访问“名称”中的值。
With the limited information available there are a few issues. 由于可用的信息有限,因此存在一些问题。
{embedded:'always'}
has been deprecated for some time, and creating a user
won't automatically create the name
record. {embedded:'always'}
已被弃用一段时间,创建user
不会自动创建name
记录。
model: function(){
var store = this.store,
name = store.createRecord('name'),
user = store.createRecord('user', {name:name});
return user;
}
You might want to read the transition document https://github.com/emberjs/data/blob/master/TRANSITION.md 您可能需要阅读过渡文档https://github.com/emberjs/data/blob/master/TRANSITION.md
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.