Подтвердить что ты не робот

Angular - идентификатор возврата из URL-адреса в контроллере

Я создаю довольно простое приложение AngularJS, но для простоты я предпочитаю не использовать маршрутизацию (если это возможно) и просто отсылать отдельные страницы Angular с сервера. По сути, используйте Angular только для макета и функциональности "виджетов", а не для перемещения между страницами.

Сказав это, я потратил часы, пытаясь получить идентификатор из текущего URL, так что:

/Tickets/:id

Все, что я хочу сделать в своем контроллере, получает идентификатор из URL-адреса, а затем передает его Factory. (ниже приведен пример использования псевдокода)

app.controller('ticketController', ['$scope', '$route',
    function ($scope, $route, $location) {
        //Get ID out of current URL
        var currentId = someFunction().id;
        factory.callFactory(ID);
    }]);

Я также пробовал создавать маршруты, но возвращаемые объекты, похоже, не дают способа получить идентификатор.

app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider
    .when('/tickets/:id',
      {
          templateUrl: '/partials/edit',
          controller: 'ticketController'
      }
    );
}]);

Не уверен, что я делаю неправильно.

Это не работает для меня

Это тоже не работает, но я могу что-то сделать не так

4b9b3361

Ответ 1

Попробуйте $routeParams вместо этого:

app.controller('ticketController', ['$scope', '$routeParams',
   function ($scope, $routeParams) {
      //Get ID out of current URL
      var currentId = $routeParams.id;
}]);

Ответ 2

Если вы используете ui-router, попробуйте $stateParams:

app.controller('ticketController', ['$scope', '$stateParams',
   function ($scope, $stateParams) {
      //Get ID out of current URL
      var currentId = $stateParams.id;
}]);