2014-12-30 58 views
0

我有一個問題。如何在angularjs中更改頁面後執行函數?

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

我想執行功能$scope.getdata()當視圖每次改變這個視圖。

但是這個功能在第一次改變視圖時只執行一次。

我的建議是可以在angularjs?

+3

您能否詳細介紹一下?什麼改變了觀點? – bodagetta

回答

0

你忘記調用函數,添加以下一句:

$scope.getdata(); 


另一種解決方案:它包裝在一個$ rootScope和使用$位置
如果你 想要更多的控制和基於你可以 調用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 

}); 

但我推薦第一種方法。

0

使該功能自動執行。

($scope.getdata = function(){ 
    console.log("ok"); 
})(); 
相關問題