在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模板中,因为这对我来说是一个黑客并且弄乱了我的应用程序的语义结构
我需要知道的是如何使用target属性来指定特定的视图,而不仅仅是包含或父视图:)?
答案 0 :(得分:3)
说实话,我的本能反应是“eek,不要那样做”。但是,我将暂停怀疑,并规定你有充分的理由想要这样做。
您的方法不起作用的原因是在模板的上下文(默认情况下是控制器)中评估target
属性路径。解决方案:在属性路径中使用view
关键字并链接目标视图的viewName。
e.g。
<button {{action "foo" target="view.targetView"}}>Click me</button>
{{view App.TargetView viewName="targetView"}}