Как загрузить другой макет в angularjs

У меня есть 2 файла макета. Макет-1 Макет-2

Маршрут /one - это начальная точка, которая загружает Layout-1, но теперь, если я нажму на ссылку /two, она получит мне файл, но с Layout-1 вместо этого я хочу, если я нажму /two, Layout-2.

Если я обновляю страницу, я получаю правильную вещь в тот момент, когда я нажимаю сервер напрямую. Итак, есть ли способ от angular указать, какой файл макета загружаться с сервера.

Спасибо.

Ответ 1

Наконец, я решил проблему с помощью UI-Router

Спасибо за помощь:)

Ответ 2

Загрузка нового шаблона макета означает загрузку нового html, встроенного в новые файлы javascript и css. Это равно перенаправлению страницы в новое место. Вы можете использовать $window.location.href="new/layout/template". Подробнее читайте руководство разработчика angularjs.

Ответ 3

Если это означает маршрутизацию на стороне клиента, вы должны использовать $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'