在Angular JS中控制器绑定后调用Js函数

时间:2015-02-26 08:19:37

标签: javascript angularjs angularjs-directive datatables angularjs-ng-repeat

enter image description here APP.controller('ListController',['$ rootScope','$ scope',函数($ rootScope,$ scope){         $ scope。$ on('$ viewContentLoaded',function(){
            //初始化核心组件         });}]);

function pageElements(){ 
      $('#tt-datatable').dataTable(); 
}

APP.controller('Acctbl',['$http',function($http){
    var accdata=this;
    accdata.item=[];
    $http({
        url:_spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Account')/items",
        method: "GET",
        headers: {"Accept": "application/json;odata=verbose"}
     }).success(function(data){
        accdata.item=data.d.results;
     });
}

]);

我希望在控制器加载后运行pageElements,当我第一次运行时

$scope.$on('$viewContentLoaded', function() {   

});}]);

我收到的数据表没有找到结果,而且数据再次绑定

1 个答案:

答案 0 :(得分:0)

要在从http请求获得结果后运行函数pageElements(),您需要在控制器内移动该函数。然后在success-handler中调用它。

APP.controller('Acctbl',['$http',function($http){
    var accdata=this;
    accdata.item=[];
    $http({
         url:_spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Account')/items",
         method: "GET",
         headers: {"Accept": "application/json;odata=verbose"}
    }).success(function(data){
         accdata.item=data.d.results;
         pageElements();
    });

    function pageElements(){ 
        $('#tt-datatable').dataTable(); 
    }
}