我正在寻找一种在控制器内调用函数的解决方案。我怎么能实现这一点。
国家
.state('confirm.registration',
{ url: "/confirm/registration",
controller:'userController',
onEnter:'confirmregistration()',
permissions:{}
})
控制器
$scope.confirmregistration = function(){
//do something
}
答案 0 :(得分:0)
这很有效。但是想知道这是否是正确的方法。
<强> app.js 强>
.state('confirmregistration',
{ url: "/confirm/registration/:registrationseed",
controller:"userController",
permissions:{}
})
<强>控制器强>
if($stateParams.registrationseed){
console.log($stateParams.registrationseed);
}
答案 1 :(得分:0)
我建议您将$broadcast
个事件放入onEnter
函数中,该函数将在$rootscope
中广播,并且可以使用$on
监听该事件控制器内部。
<强>配置强>
.state('confirm.registration', {
url: "/confirm/registration",
controller: 'userController',
onEnter: function($rootScope, $timeout, $stateParams) {
//used $timeout to load after controller gets initialized
//so that $on event should get define before broadcasting
$timeout(function() {
$rootScope.$broadcast('eventBroadcasted', $stateParams.registrationseed);
})
},
permissions: {}
})
<强>控制器强>
$scope.$on('eventBroadcasted', function(event, data) {
//you can get $route parameter inside data itself
});
我认为这将是方法,而不是你正在做的事情。感谢。