Как изменить область 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,

Надеюсь, что это имеет смысл!

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