我有一个功能
state('showList', {
url: '/listView',
templateUrl: 'app/templates/showlist.html',
controller: "showListCtrl"
}).
我的控制器,
.controller('overViewCtrl', function ($scope) {
$scope.getList = function(){
//A http call
}
});
当我的路由更改为' / listView',然后调用overView控制器但是函数getList()没有被调用,但是当我刷新页面时我被调用。任何人都可以帮助我。我可以帮助我。只想在控制器加载的那一刻调用该函数。谢谢。
当我的路线更改为' / listview'
时答案 0 :(得分:0)
您可以在外部函数中声明代码,
setContentView(boardView);
或者你可以在页面上使用ng-init来调用函数
答案 1 :(得分:0)
.controller('overViewCtrl', function ($scope) {
$scope.getList = function(){
//A http call
}
$scope.getList() //just call it here
});
或者我建议您使用resolve
初始获取数据
https://medium.com/opinionated-angularjs/advanced-routing-and-resolves-a2fcbf874a1c#.t127bl60d
答案 2 :(得分:0)
您可以使用ui-router的resolve
功能让您的控制器更加轻薄,但在控制器加载后仍然可以访问已解析的数据
// router
$stateProvider.state('myState', {
resolve: {
simpleObj: function(){
return {value: 'simple!'};
}
}
}
// controller
['simpleObj', function(simpleObj) {
console.log(simpleObj); // ==> value: 'simple!'
}]