Ember.js 向ArrayController添加新对象
我试图创建一个基本的CRUD设置来管理Ember中的“用户”对象。我想我有我的模型和路线。我正在努力管理: A) (所有)用户页面的正确控制器设置。我认为我应该创建一个ArrayController,但它似乎可以自动正常工作。我的余烬应用程序是否知道创建单个“用户”对象的数组?如果是,怎么做 B) 从输入字段传递数据。如果您在我的中单击“添加用户”,我已创建了一个表单来创建用户。当您单击“创建”时,我不知道如何获取textField值,也不知道在获得这些值后如何处理它们。如何更新控制器 再一次,这里是我的一段代码。非常感谢您的指导。关于A): 我假设您参考了应用程序的以下路径。此模型函数返回一个数组。因此,Ember知道它应该使用ArrayController来呈现用户路由Ember.js 向ArrayController添加新对象,ember.js,Ember.js,我试图创建一个基本的CRUD设置来管理Ember中的“用户”对象。我想我有我的模型和路线。我正在努力管理: A) (所有)用户页面的正确控制器设置。我认为我应该创建一个ArrayController,但它似乎可以自动正常工作。我的余烬应用程序是否知道创建单个“用户”对象的数组?如果是,怎么做 B) 从输入字段传递数据。如果您在我的中单击“添加用户”,我已创建了一个表单来创建用户。当您单击“创建”时,我不知道如何获取textField值,也不知道在获得这些值后如何处理它们。如何更新控制器 再一次,
App.UsersIndexRoute = Ember.Route.extend({
model: function() {
return App.User.find();
}
});
关于B):我已经更新了您的代码->
我需要更新您的一些姓名(控制器和视图)以匹配您的姓名。
使用Ember,您不必使用表单并手动读取这些值。而是在输入路线时创建新记录:
App.UsersNewRoute = Ember.Route.extend({
setupController : function(controller){
controller.set("content", App.User.createRecord({}));
}
});
在视图中,您正在绑定记录的属性。如您所见,我还使用操作助手更新了您的按钮
<script type="text/x-handlebars" data-template-name="users/new">
<div class="row">
<div class="six columns">
<h3>New User Information</h3>
<form>
<label>First Name</label>
{{view Ember.TextField valueBinding='name_first'}}<br />
<label>Last Name</label>
{{view Ember.TextField valueBinding='name_last'}}<br />
<label>Email Address</label>
{{view Ember.TextField valueBinding='email_address'}}<br />
<label>SSN</label>
{{view Ember.TextField valueBinding='ssn'}}<br />
<button {{action create target="view"}} class="button">Create</button>
{{#linkTo users}}Cancel{{/linkTo}}
</form>
</div>
</div>
</script>
注意:在我写这篇文章时,我意识到如果您在控制器中而不是在视图中处理此事件,可能会更好,因为这是一项数据修改任务
App.UsersNewView = Ember.View.extend({
didInsertElement: function() {
this.$('input:first').focus();
},
create: function(){
console.log('view submitted');
var newUser = this.get("controller.content");
console.log(newUser.get("name_first"));
console.log(newUser.get("name_last"));
// HOW DO I PROCESS THIS FORM
}
});