2013-03-26 1 views
4

Я изучаю angularJS, и у меня есть ситуация, когда я должен загрузить новый вид, нажав кнопку, но сохраните URL-адрес. Я сделал то же самое с jQuery следующим образом: $(".container").fadeOut("slow").load('page.html').hide().fadeIn();обновление ng-view без обновления URL-адрес

Как это возможно? Я не хочу изменять/маршрутизировать URL-адрес, потому что другое представление бесполезно, не посещая другое представление/страницу в первую очередь. Переходы необходимы.

Я также думал, что ng-include также. Но можно ли привязать его к определенному контроллеру для каждого включенного шаблона, как через маршрутизатор (например, ниже)? Или я должен сделать какую-то специальную директиву?

 .when('/page', { 
     controller: Controller, 
     templateUrl: 'page.html' 
    }) 

Спасибо!

+0

Почему вы не можете программным образом изменить ng-view с помощью '$ location.url (...)' –

+0

Я пробовал, но он вводит путь в поле адреса. – Ville

ответ

0

Ваши единственные реальные варианты, если вы не хотите менять путь, - это использовать ng-include или настраиваемую директиву. Проще всего было бы использовать ng-include. Вы можете просто добавить ng-контроллер в корневой элемент, который вы включили в HTML для вашего сопоставления с контроллером.

Ng-view работает только с маршрутами, поэтому для использования ng-view потребуется изменение пути.

Смежные вопросы