Разрушающие объекты, принятые как аргументы действия Ember

Официальное руководство Ember о действиях подчеркивает, что деструктурирование объектов, передаваемых в качестве аргументов действия, возможно с value именованный параметр в помощнике действий. Моя проблема в том, что этот сценарий работает только для первого аргумента, но не для остальных аргументов действия.

Пожалуйста, ознакомьтесь с изложением, которое я подготовил для иллюстрации случая. В этой простой болтовне, my-component запускает действие после нажатия кнопки и application контроллер обрабатывает действие. Как видно изнутри application.hbs Я объявил действие как (action 'actionHandler' value='name'); это означает, что я хочу, чтобы поля имени аргументов действия были отправлены обработчику действия в application.js, Однако, как видно из отображаемых предупреждений; value параметр работает для первого аргумента действия (john отображается как положено); но не для второго аргумента (jack не извлекается как второй аргумент обработчика действия; но весь объект извлечен).

Мой вопрос есть ли способ деструктурировать аргументы после первого? Если это возможно, могу ли я изменить свойства, которые будут извлечены среди аргументов, т.е. name первого аргумента, id второго аргумента и так далее.

1 ответ

Решение

Ответ - Нет. Как вы показали в twiddle, вы не можете деструктурировать аргументы после первого. Я использовал эту функцию в основном, когда я хочу взять value из первого аргумента event говоря value=target.value, В этом случае деструктура будет применена только к первому аргументу, наряду с тем, что мы можем отправить множество аргументов, которые не будут деструктурированы.

Другие вопросы по тегам