Я работаю с angular ui-router, и одна проблема продолжает возникать. Я надеюсь, что некоторые из вас могут дать мне совет, как решить эту проблему чистым, не хакерским способом.
Рассмотрим следующий сценарий:
Слева у меня есть боковая навигация со списком контактов. Когда я нажимаю на контакт, сведения о выбранном контакте отображаются в состоянии app.contacts.details
. Как только я выбрал контакт, в шапке появляются некоторые элементы управления, например. «редактировать» и «удалить» (рассмотрите их просто как пример, на самом деле эти действия более сложны).
В идеале эти кнопки просто вызывали бы функцию detailStateController, например. detailStateController.delete()
для удаления текущего выбранного контакта или detailStateController.edit()
для редактирования выбранного контакта (вы поняли). Конечно, это не работает, потому что кнопки редактирования и удаления не находятся внутри представления состояния app.contacts.details
, и поэтому detailStateController
не входит в их область действия.
Я знаю, что это можно решить путем трансляции событий, но я хочу по возможности избегать использования событий.
Как бы вы решили это?
Любые советы высоко ценится.