2014-09-25 2 views
0

При использовании параметров в ngRoute и непосредственном доступе к URL (не через ссылку внутри сайта), CSS не загружается. Все мои маршруты работают отлично, за исключением /chef/:id. Я использовал yoman angular generator, и я запускаю вещи, используя grunt serve.

Вот мой код маршрута:

angular 
    .module('agFrontApp', [ 
     'configuration', 
     'LocalStorageModule', 
     'ngCookies', 
     'ngRoute', 
     'ngSanitize', 
     'ngTouch' 
    ]) 
    .config(function ($routeProvider, $locationProvider) { 
     $routeProvider 
      .when('/', { 
       templateUrl: '../views/main_view.html', 
       controller: 'MainCtrl', 
       controllerAs: 'MainCtrl', 
      }) 
      .when('/login', { 
       templateUrl: '../views/login_view.html', 
       controller: 'LoginCtrl', 
       controllerAs: 'login', 
      }) 
      .when('/chefs', { 
       templateUrl: '../views/chef_list_view.html', 
       controller: 'ChefListController', 
       controllerAs: 'chefs', 
      }) 
      .when('/chef/:id', { 
       templateUrl: '../views/chef_detail_view.html', 
       controller: 'ChefDetailController', 
       controllerAs: 'chef' 
      }) 
      .when('/receitas', { 
       templateUrl: '../views/recipe_list_view.html', 
       controller: 'RecipeListController', 
       controllerAs: 'recipe' 
      }) 
      .when('/perfil', { 
       templateUrl: '../views/perfil_view.html', 
      }) 
      .otherwise({ 
       redirectTo: '/' 
      }); 
     $locationProvider.html5Mode(true); 

    }); 

А вот контроллер для /chef/:id:

'use strict'; 

(function() { 

function ChefDetailController($routeParams, $scope, $log, Chefs) { 
    var vm = this; 

    Chefs.getChef($routeParams.id) 
     .then(function(data) { 
      $log.log('success'); 
     }) 
     .fail(function(data) { 
      $log.log('something went wrong'); 
     }); 
} 

angular.module('agFrontApp') 
    .controller('ChefDetailController', 
     [ '$routeParams', '$scope', '$log', 'Chefs', ChefDetailController]); 

})(); 

Что я делаю неправильно?

Edit:

Вот chef_detail_view.html: http://pastebin.com/bL5ST01N

+0

Можем ли мы увидеть код шаблона, который используется для этого маршрута – V31

+0

Конечно, здесь chef_detail_view.html: http://pastebin.com/bL5ST01N –

+0

А вот index.html, где шаблоны загружаются в: HTTP: //pastebin.com/kzVZX8eE –

ответ

2

Вы очень вероятно, загружаете CSS, используя относительный URL как так

<link rel="stylesheet" href="styles/style.css" /> 

Проблема в html5mode ваш шеф url is /chef/123 Итак, браузер пытается загрузить ваш CSS с /chef/styles/style.css Вам нужно либо отключить html5mode, либо изменить свой стиль лист href является относительным по отношению к корню (например, /styles/style.css)

+0

Спасибо, человек, который его исправил. –

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