如何在angularjs中更改页面后执行该功能?

时间:2014-12-30 17:35:00

标签: angularjs

我有一个问题。

.controller('A_Ctrl', function($scope){
    $scope.getdata = function(){
       console.log("ok");
    }
})

我想在每次视图更改时执行函数$scope.getdata()

但是,当第一次通过此视图更改视图时,此功能仅执行一次。

我的建议可以在angularjs吗?

2 个答案:

答案 0 :(得分:0)

使该功能自动执行。

($scope.getdata = function(){
   console.log("ok");
})();

答案 1 :(得分:0)

您忘记调用该函数,添加以下句子:

$scope.getdata();


另一个解决方案:将它包装在$ rootScope中,如果你使用 $ location
想要更多的控制权,你可以根据网址 是否调用getdata()。

var app = angular.module('app', [])

.run(function($rootScope, $location) { 

   $rootScope.$on('$routeChangeStart', function() {
     $rootScope.getdata();
   });

})

.controller('A_Ctrl', function($rootScope){

   $rootScope.getdata = function(){
     console.log("ok");
   };
   $rootScope.getdata(); //----- missed line

});

但我推荐第一种方法。