Ответ 1
Наконец, я решил проблему с помощью UI-Router
Спасибо за помощь:)
У меня есть 2 файла макета. Макет-1 Макет-2
Маршрут /one
- это начальная точка, которая загружает Layout-1
, но теперь, если я нажму на ссылку /two
, она получит мне файл, но с Layout-1
вместо этого я хочу, если я нажму /two
, Layout-2
.
Если я обновляю страницу, я получаю правильную вещь в тот момент, когда я нажимаю сервер напрямую. Итак, есть ли способ от angular указать, какой файл макета загружаться с сервера.
Спасибо.
Наконец, я решил проблему с помощью UI-Router
Спасибо за помощь:)
Загрузка нового шаблона макета означает загрузку нового html, встроенного в новые файлы javascript и css.
Это равно перенаправлению страницы в новое место. Вы можете использовать $window.location.href="new/layout/template"
. Подробнее читайте руководство разработчика angularjs.
Если это означает маршрутизацию на стороне клиента, вы должны использовать $routeProvider, чтобы написать маршрут для этого
var app = angular.module('app', []);
app.config(function($routeProvider){
$routeProvider
.when('/one', {templateUrl: 'tmpl1.html'})
.when('/two', {templateUrl: 'tmpl2.html'})
.otherwise({redirectTo: '/one'});
});
Это позволит вам определить отдельный шаблон и контроллер для другого url/action
Здесь Я сделал рабочий пример того, как он работает.
Если речь идет о маршрутизации серверов, прочитайте руководство и используйте его следующим образом:
match 'two' => 'controller#action'