У меня возникла странная проблема с location.path(), так как я не перенаправляюсь на страницу, которую я хочу. У меня есть ссылка в моем HTML файл следующим образом:
<a title="{{woa.name}}" href="#/" ng-right-click="" href="javascript:void(0)" ng-click="goToDetailPage(woa.pk,'workofart')">
Соответствующий контроллер имеет следующий код:
appTreasure.controller("mySecondController", function($scope, $http, $location) {
$scope.goToDetailPage = function(pk, selectedDetailsPage) {
newLocation = selectedDetailsPage + '/' + pk;
console.log("NEW: " + newLocation);
$location.path(newLocation);
}
// some more unrelated code
Текущий URL является: <base>/#/beinspiredby
и печатное newLocation является чем-то вроде <base>/#/workofart/someexistingpk
. Итак, я создаю новое местоположение с допустимыми значениями.
К сожалению, когда я нажимаю на ссылку, я перенаправляюсь на <base>/#/
. Если я вручную перейду к <base>/#/workofart/someexistingpk
, я правильно приземлюсь на страницу, которую я ищу.
Кроме того, в третьем контроллере у меня есть точно такой же код для goToDetailPage
, и он работает.
Где я что-то пропущу?
Дублирование? http://stackoverflow.com/questions/19359553/angular-location-path-not-working – Christian
Я не работаю за пределами Angular и не добавляю слушателя событий. Почему это должно быть дубликат? – Manu