Как изменить область AngularJS на другой HTML-странице?
Я надеюсь, что кто-то может помочь мне с этой проблемой, это действительно сводит меня с ума:P I создал Plunker, чтобы проиллюстрировать проблему. См. Демонстрацию здесь http://plnkr.co/edit/BRlDgKYlE87Bh3t53tpZ?p=preview.
My code is in the plunker.
Поэтому моя проблема в том, что я не могу изменить значение своей области в другом html-представлении, в котором я нахожусь. Как показывает Plunker, у меня есть две кнопки в index.html; кнопка1 и кнопка2. Когда я нажимаю на button1, я хочу, чтобы scope.test изменился на "button1", а когда я нажимаю на button2, он должен измениться на "button2", это значение существует в index2.html. Как вы видите в сообщении console.log, этого никогда не произойдет. Я использую rootcope, но все же я могу изменить значение только в том случае, если область действия существует на той же HTML-странице, а не на другой. Пожалуйста помоги!
1 ответ
То, что вы написали, не является одностраничным приложением, html2 не имеет представления о вашем угловом коде в app.js. Вы должны использовать маршрутизацию, и вы должны использовать сервис для обмена состоянием между двумя "страницами" или представлениями в случае угловой маршрутизации
РЕДАКТИРОВАТЬ
Здесь вы увидите угловую маршрутизацию в действии и сервис, который может быть разделен между двумя контроллерами. При переключении между двумя страницами контроллеры, к которым они присоединены, разрушаются, поэтому переход со страницы 1 на страницу 2 означает, что contollerA больше не существует, поэтому вам нужно использовать сервис для хранения состояния того, на что нажали со страницы 1,
Надеюсь, что это имеет смысл!