我的状态state.jsAngualrJS不调用控制器
(function() {
'use strict';
angular.module('app').config(stateConfig);
stateConfig.$inject = [ '$stateProvider' ];
function stateConfig($stateProvider) {
$stateProvider.state('bmc', {
parent : 'entity',
url : '/bmc',
data : {
authorities : [ 'ROLE_USER', 'ROLE_ADMIN' ],
},
views : {
'[email protected]' : {
templateUrl : 'bmc.html',
controller : 'BmcController',
controllerAs : 'vm'
}
}
}).state('list', {
parent : 'bmc',
url : '/list/:routeId/:entity',
data : {
authorities : [ 'ROLE_ADMIN', 'ROLE_USER' ],
},
views : {
'[email protected]' : {
templateUrl : 'list.html',
controller : 'ListController',
controllerAs : 'vm'
}
},
resolve : {
loadMyFiles : function($ocLazyLoad) {
return $ocLazyLoad.load({
name : 'list',
files : [ 'crud.service.js', 'list.controller.js' ]
})
},
translatePartialLoader : [ '$translate', '$translatePartialLoader', function($translate, $translatePartialLoader) {
return $translate.refresh();
} ]
}
});
}
})();
list.controller.js
(function() {
'use strict';
angular.module('app').controller('ListController', ListController);
ListController.$inject = [ '$scope', '$state', '$stateParams' ];
function ListController($scope, $state, $stateParams) {
var vm = this;
console.log($stateParams.entity);
console.log($stateParams.routeId);
}
})();
当我点击由HTML code
没有生成以下网址http://localhost:8080/#/bmc/list/xyz/abc
发生。我不确定问题在哪里,因为我期望在点击时调用ListController
。
bmc.html
<a ui-sref="list({routeId: node.name, entity: entity.name})">{{entity.name}} </a>
我的猜测是,一些在解决部分可能永远不会被解决。直到这些值被解析后才能创建控制器。尝试现在评论它们和/或添加一些日志消息。 – Duncan
我明白了..好吧,让我试试。 –
我把那些js直接提交给index.html的情况下,但仍然没有采取行动。我认为我在做一些非常错误的事情。 –