2

Ember では、アクションをビューで処理したい場合は、次を使用して簡単に実現できます。

<button {{action 'something' target='view'}}>
`{{view App.targetView}}` // this is the view in which the 'something' action ought to be handled

これをparentViewで処理したい場合は、target='view'に置き換えられますtarget='parentView'

公平に言えば、私の問題は、childViewで処理したいということであり、単に「childView」と述べるだけです

「未定義のプロパティ「send」を読み取ることができません」

次のように、ここでビューの名前を指定することもできます。

target='targetView'

どこ

{{view App.targetView viewName="targetView"}}

それはうまくいきませんでした。どちらもしなかった

target ='views.targetView' nor 'childViews.targetView'

このアクションを含むボタンは App.targetView テンプレート内にある必要があると述べて、アプリのセマンティック構造を変更するように案内しないでください。

私が知る必要があるのは、ターゲット プロパティを使用して、含まれているビューや親ビューだけでなく、特定のビューを指定する方法です:)?

4

1 に答える 1

3

正直なところ、私の本能的な反応は「ええ、それをしないでください」です。しかし、私は不信感を一時停止し、あなたがこれをしたい正当な理由があることを規定します.

あなたのアプローチが機能しなかった理由は、targetプロパティ パスがテンプレートのコンテキスト (既定ではコントローラー) で評価されるためです。解決策:viewプロパティ パスでキーワードを使用し、ターゲット ビューの viewName をチェーンします。

例えば

<button {{action "foo" target="view.targetView"}}>Click me</button>
{{view App.TargetView viewName="targetView"}}

http://emberjs.jsbin.com/aGagORaz/1/edit?html,js,output

于 2013-12-15T02:41:32.580 に答える