2013-08-23 2 views
0

У меня есть приложение, размещенное на IIS. Приложение URL является http://localhost/toolAngularJS routeProvider, когда присутствует хэш-знак

Когда я загрузить страницу, введя этот адрес, путь изменения URL в

http://localhost/tool#/tool

Я не имею ничего в $routeProvider конфигурации. Я хотел бы обработать запрос URL, как,

http://localhost/tool#/request/:param1/:param2 или, если это возможно http://localhost/tool#/request?param1=Value&?param2=value

Как написать конфигурацию $routeProvider?

Дальше в моей ситуации пользователю нужен прямой URL-адрес, чтобы получить состояние страницы, чтобы пользователь не начинал с http://localhost/tool, но мог начинать с http://localhost/tool#/request/:param1/:param2.

Пожалуйста, помогите.

ответ

0

Я думаю, что можно иметь URL как локальный/инструмент #/запроса param1 = Значение & param2 = значение, но:?

angular.module('myApp'). 
    config(
     ['$routeProvider', function($routeProvider){ 
       $routeProvider. 
        when('/tool', {templateUrl: './view/partial/tool_list.html', controller: ToolListCtrl}). 
        when('/tool/:param1/:param2', {templateUrl: './view/partial/tool_details.html', controller: ToolDetailCtrl}). 

        otherwise({redirectTo: '/tool'}); //here you can redirect to whatYouWantUrl 
     } 
     ]); 

Вы найдете всю информацию вам нужно здесь: http://docs.angularjs.org/tutorial/step_07

+0

Нет ли 'stateProvider' или что-то еще? Мне нужно показать состояние приложения на основе URL. поэтому в вашем втором параметре маршрутизатора параметр 'templateUrl' будет таким же для меня, кроме дополнительных деталей будет добавлен на основе параметров запроса. – lostpacket

0

EH правильно с настройкой маршрутизации. Если вы хотите передать параметры маршрутизации в контроллер вы сделаете это, как это (из учебника он связан):

function PhoneDetailCtrl($scope, $routeParams) { 
    $scope.phoneId = $routeParams.phoneId; 
} 

Если вы хотите, чтобы следить за «состояние» как в управлении другими данными на основе того, что Получись, ты должен сделать это сам. Я сделал это, используя сервис и введя его в контроллер (ы), если вам нужно получить доступ к нему из нескольких мест.

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