Я пытаюсь динамически создавать childControllers внутри masterController. Я получил идею от this page. См. Это JSFiddle и смотрите консоль.Angularjs: динамически создаваемые контроллеры удваиваются
+ создает новый childController. Каждый childController имеет случайное число, созданное в его функции контроллера, и номер, установленный ng-init.
Когда я делаю следующее:
click the +
click Emit
click BroadCast
выход консоли:
new masterController
creating new childController..
new childController (undefined : 37818)
created the new childController
new childController (undefined : 49443)
child (0 : 49443) emitting..
masterController heard (0:49443)
broadcasting..
(undefined : 37818) received the broadcast
(0 : 49443) received the broadcast
done broadcasting
Здесь становится ясно, что два childControllers генерируются, а не только один. Если удалить HTML-строка 16
ng-controller="childController"
тогда только один контроллер создан, поэтому я предполагаю, что проблема заключается в том, что эта линия создает еще один контроллер. Как мне обойти это, и правильно ли я создаю контроллеры динамически?
Пожалуйста, отредактируйте соответствующий код как текст в своем сообщении. Внешние ссылки не заменяют код в самой записи. – ryanyuyu