问题描述
我有以下模板
<script type="text/x-handlebars" id="friends/new">
<label>First Name</label>
{{input value=firstName}}<br />
<label>Last Name</label>
{{input value=lastName}}<br />
<label>About</label>
{{textarea value=about}}<br />
<button {{action "create"}} {{bind-attr disabled=isInvalid}}>Create</button>
</script>
我将数据放入所有字段,然后单击“创建”按钮,该按钮转到以下控制器
App.FriendsNewRoute = Ember.Route.extend({
model: function(){
return { firstName: "", lastName: "", about: ""}
}
});
App.FriendsNewController = Ember.Controller.extend({
needs: "friends",
isInvalid: true,
validForm: function(){
if(this.get('lastName') && this.get('firstName')){
this.set("isInvalid", false);
} else {
this.set("isInvalid", true);
}
}.observes('firstName','lastName'),
actions: {
create: function(){
var newFriend = Ember.copy(this.content);
console.log(newFriend);
}
}
});
调用this.get('lastName')
ect时,我在文本框中输入的内容正确。
但是,当我记录this.content
,该值仍然是我在FriendsNewRoute
设置的初始值。
我需要怎么做才能使this.content
用模板中的当前数据正确更新?
1楼
您应该更改:
Ember.Controller
至
Ember.ObjectController