2015-05-13 3 views
0

Я использую routeProvider в угловых JS:Почему wotk routeProvider в Angular JS?

.when('/chat/dialog/:id', { 
    controller: 'ChatController' 
}); 

В контроллере у меня есть:

if($routeParams.id) { 
    alert('ok'); 
} 

И мой URL выглядит следующим образом:

http://site-dev.com/chat/dialog/1 

Ссылка является: <a href="/chat/dialog/1"></a>

Почему не работает маршрутизация в Угловом JS?

Контроллер:

.controller('ChatController', ['$scope', '$sce', '$http', '$location', '$anchorScroll', '$timeout', '$routeParams', function ($scope, $sce, $http, $location, $anchorScroll, $timeout, $routeParams,) { 

    if($routeParams.id) { 
     alert('ok'); 
    } 
}]) 

Routing:

.config(function ($locationProvider, $routeProvider) { 
     $routeProvider 

      .when('/profile/personal/:type', { 
       templateUrl: '/public/html/personal.html', 
       controller: 'EditProfileController' 
      }) 

      /* Chat */ 
      .when('/chat/dialog/:id', { 
       controller: 'ChatController' 
      }); 
    }) 
+1

Можете ли вы предоставить немного больше деталей ed code? Полная конфигурация маршрута, код вашего контроллера. Кроме того, что не работает? маршрутизация? или предупреждение? или что-то другое? если это предупреждение в условном выражении, можно предположить, что вы не вводите $ routeParams в контроллер – o4ohel

+0

Не работает 'alert()', я обновил вопрос, добавленный подробнее – Hamed

+0

Похоже, у вас есть дополнительная запятая в определении функции - функция ($ scope, $ sce, $ http, $ location, $ anchorScroll, $ timeout, $ routeParams,) <- здесь –

ответ

-1

Попробуйте добавить в head тег <base href="/">, как это:

<head> 
    <base href="/"> 
</head> 
+0

Не помогает мне, также я попробовал включить html5 – Hamed

+0

Вы ввели ngRoute в свое приложение? – zooblin

+0

Сначала попробуйте проверить, можете ли вы использовать идентификатор в URL-адресе с одним уровнем: '/ chat /: id' – zooblin

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