Доброго времени суток! Рекомендовали ваш ресурс. Надеюсь на понимание и доброжелательность.
Столкнулся вот с какой проблемой.
В ангуляр использую ui-router.
.state('editRole', {
url: '/roles/:id/edit',
templateUrl: '../views/RoleManagement/role-edit.html',
controller: 'RoleController as role'
})
в шаблоне
<a class="btn btn-danger" ng-click="role.deleteRole(current_role.id, $index)">Delete</a>
<a class="btn btn-warning" ui-sref="editRole({id:current_role.id})">Edit</a>
<a class="btn btn-warning" ng-click="role.editRole(current_role.id)">Edit2</a>
Так вот. ui-sref генерирует ссылку. Перехожу. Но функция в контроллере не срабатывает.
Delete и Edit2 срабатывают. Полагаю, что все дело в role. Но если его добавля и делаю
ui-sref="role.editRole({id:current_role.id})">Edit, то же получаю ошибку state.
код из контроллера
(function() {
'use strict';
angular
.module('authApp')
.controller('RoleController', RoleController);
function RoleController($http, $auth, $state, $stateParams, $rootScope, Role) {
var vm = this;
vm.test = function() {
console.log('lala');
}
vm.editRole = function(id) {
console.log(id);
Role.edit(id)
.success(function(data) {
vm.roleData=data;
console.log(vm.roleData);
});
}
Как можно было бы решить этот вопрос?
И попутно.
Вот эти вот RoleController as role? Может неверно использую? В шаблонах все захламляется вот этими добавками role.
п.с. функция test срабатывает дважды при попадания на данный роут((
гран мерси ин эдванс