2015-04-11 3 views
1

app.jsПеренаправление в location.path() AngularJS метод

.when('/ModifyStructure/{c}', { 
      templateUrl: 'views/ModifyStructure.html', 
      controller: 'ModifyStructureCTRL' 
      } 

метод

$scope.editST = function (ids) { 
     var c = ids.substring(1, 3); 
     $location.path('http://localhost:8080/structure/ModifyStructure/' + c); 
    } 

почему, когда excuting этот метод, навигатор перенаправить меня на путь '/' ?

+0

Попробуйте использовать '$ location.path ('/ ModifyStructure /' + с);' –

ответ

1

Почему, вызывая этот метод, навигатор перенаправляет меня на путь «/»?

Потому что вы пытаетесь установить не путь, это абсолютный URL. Однако в документации explicitly states что в угловому:

Путь всегда должен начинаться с косой черты (/), этот метод будет добавлять слэш, если она отсутствует.

В вашем случае, вы, так как не существует такого путь определяется в конфигурации маршрутов, otherwise секции выполняются, который я предполагаю, был перенаправлять /.

Вы должны назначить этот путь вместо того, чтобы:

$location.path('/ModifyStructure/' + c); 
+0

нормально это не сделано, но проблема не в том, как получить значение «c» на странице ModifyStructure.html? –

+0

Используйте услугу '$ routeParams' в' ModifyStructureCTRL'. Вы можете открыть его для области видимости: '$ scope.c = $ routeParams.c'. – dfsq

+0

после использования предупреждения ($ routeParams.c) отображает "undefined" ?? –

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