0

Ember を使用してビューからコントローラーのアクションを呼び出そうとしていますが、次のように表示されます。

Uncaught TypeError: Cannot call method 'send' of null

私は、ember でビューを操作する正しい方法を見つけることができません。

私のビューレイアウトには次のような呼び出しがあります:

<button type="button" {{action modalConfirmation target="view"}} class="btn btn-primary">Save changes</button>

そして、私の View クラスは、この方法でコントローラーを呼び出そうとします:

this.get('controller').modalConfirmation();

私のコントローラーには次のようなものがあります:

ProjEmber.BananasIndexController = Ember.ArrayController.extend({
  actions: {
    showModal: function() {
        modalinaView.title = "My Title";
        modalinaView.templateName = "any_template_you_wish";
        modalinaView.append();   
    },
    modalConfirmation: function() {
      console.debug('Action modalConfirmation');
    }
  }
});

OBS: 次のようにヘルパーを使用してビューを追加すると機能します。

{{#view ProjEmber.ModalinaView title='A title'}}
    A not so good application of a modal view. Just for the sake of illustration.
{{/view}}

Github で完全なソースを見ることができます。具体的には、コミットのこの部分です :

4

2 に答える 2

0

このようなビューにアクセスしないでください

var modalinaView = this.container.lookup('view:modalina');

このPRは、より多くの洞察を与えることができます。

Stefanpenner がこのcommitで行ったのと同じことを行っています。

そして、これがワイキャッツの返事です。

または、この回答は、モーダルのインスタンス化に役立つ場合があります

于 2013-10-25T05:22:32.387 に答える