Поскольку вы определяете recoId
в URL, вам не нужно params: {recoId:null},
.state('Admin.AddRecommendation',{
url: "/AddRecommendation/:recoId",
templateUrl: "views/AddRecommendation.html"
})
Вы можете получить доступ к параметрам в контроллере, введя $stateParams
app.controller('MyController', ['$scope', '$state', '$stateParams', function($scope, $state, $stateParams) {
$scope.addRecommendation = function(){
var id = $stateParams.recoId;
console.log(id);
}
}]);
Если вы используете компоненты, $stateParams
не рекомендуется в пользу $transition$
Однако реализовать это не так просто: https://github.com/angular-ui/ui-router/issues/3110#issuecomment -271101827
В основном, Вы можете использовать его как
.component('foo', {
bindings: { $transition$: '<' },
controller: MyController,
controllerAs: 'vm'
});
app.controller('MyController', ['$scope', '$state', function($scope, $state) {
var vm = this;
$scope.addRecommendation = function(){
var id = vm.$transition$.params().recoId;
console.log(id);
}
}]);