Ember: укажите целевое представление действия для помощника действия, кроме содержащего или родительского представления
В 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
"Невозможно прочитать свойство" отправить "неопределенное"
Я мог бы указать здесь имя вида, например:
target='targetView'
где
{{view App.targetView viewName="targetView"}}
это не сработало. Ни один не сделал
target ='views.targetView' nor 'childViews.targetView'
Пожалуйста, не советуйте мне изменять семантическую структуру моего приложения, указав, что кнопка с этим действием должна быть в шаблоне App.targetView, потому что для меня это взлом и срыв с семантической структурой моего приложения.
Что мне нужно знать, так это как я могу использовать целевое свойство для указания конкретного представления, а не только содержащего или родительского представления:)?
1 ответ
Честно говоря, мой инстинктивный ответ: "Э-э, не делай этого". Но я собираюсь приостановить неверие и оговорить, что у вас есть веская причина для этого.
Причина, по которой ваш подход не сработал, заключается в том, что target
Путь свойства оценивается в контексте шаблона (который по умолчанию является контроллером). Решение: используйте view
Ключевое слово в пути свойства и цепочка viewName целевого представления.
например
<button {{action "foo" target="view.targetView"}}>Click me</button>
{{view App.TargetView viewName="targetView"}}