Вот мой код контроллера
.when('/showprofile/:UserID', { templateUrl: 'resources/views/layout/showprofile.php', controller: 'ShowOrderController', })
Я передаю параметр по URL.
Я пытаюсь получить доступ к этой странице по URL прямо так
http://192.168.1.58/myapp/#/showprofile/8
Но это перенаправляет меня на
http://192.168.1.58/myapp/#/showprofile/:UserID
Как я могу получить значение url на мой взгляд?
Вот мой app.js, и вот мой authCtrl.js
Попробуйте это в своем контроллере, он вернет объект, основанный на значении url, тогда мы сможем получить уважаемое значение, подобное этому
//it will return the object console.log($routeParams); //get the specific url value like this console.log($routeParams.UserID); or console.log($route.current.params.UserID);
Да возможно, но вам нужно ввести $state
в свой контроллер и получить
если вы используете $ state
console.log($state.params.userID);
Попробуй это…
var sampleApp = angular.module('sampleApp', []); sampleApp.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/ShowOrder/:orderId', { templateUrl: 'templates/show_order.html', controller: 'ShowOrderController' }); }]); sampleApp.controller('ShowOrderController', function($scope, $routeParams) { $scope.order_id = $routeParams.orderId; });
Правильно, у вас есть что-то вроде этого в app.js:
.when('/showprofile/:UserID', { templateUrl: 'resources/views/layout/showprofile.php', controller: 'authCtrl', })
Это означает, что для этого представления назначено authCtrl. Таким образом, необходимо вводить routeParams в authCtrl (помните об инъекции зависимостей в javascript):
app.controller('authCtrl', ['$scope','$rootScope','$routeParams','$location', '$http', 'Data', function ($scope, $rootScope, $routeParams, $location, $http, Data) { $scope.myVar = $routeParams.UserID; console.log('UserID: ',$scope.myVar); /* (...) */ }]);
Не могли бы вы сказать мне, если это изменение регистрирует UserID в консоли? Или пусто? Если он регистрируется, все работает нормально, и вы можете использовать сервис для передачи этой переменной между различными контроллерами.