0

我有一个注册表单

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

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>

控制器方法被调用,但我无法访问栅栏实例:-(

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

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

非常感谢您的帮助!

4

1 回答 1

1

默认情况下,动作会传递视图。和

{{action "addsignup"}}

然后您可以访问控制器及其成员

addsignup:function () {
    var controller = this.controller;
    var name = controller.name;
}

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

希望这会有所帮助,ph

于 2013-02-04T13:37:39.327 回答