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 に答える