Ember.js:提交表单后访问绑定到表单的对象

时间:2013-02-03 00:50:10

标签: ember.js

我有一个注册表单

在路线中我创建新记录(包含注册数据)

App.SignupRoute = Ember.Route.extend({
  model:function () {
    return App.Fence.createRecord({date:new Date()});}});

在我成功检查的形式中,记录(围栏)绑定到表单元素

现在我想要一个保存按钮并访问控制器方法中的数据

我试过了:

< a href="#" {{ action "addsignup" this}}>SignUp</a>

< button type="button" {{action "addsignup" this}}>SignUp</button>

正在调用控制器方法,但我无法访问fence实例: - (

App.SignupController = Ember.ObjectController.extend({

  addsignup:function (fence) {

    console.log(fence.name);         // => undefined
    console.log(this.name);          // => undefined
    console.log(fence.get("name"));  // => undefined
    console.log(this.get("name"));   // => undefined

如何在控制器方法中访问模型数据?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

默认情况下,操作会传递视图。随着

{{action "addsignup"}}

然后您可以使用

访问控制器及其成员
addsignup:function () {
    var controller = this.controller;
    var name = controller.name;
}

通过传递一个对象,你可以在函数定义中定义相应的参数时访问它。

希望这有帮助,ph