如何使用ng-controller指令的onload属性来执行控制器中定义的函数?

时间:2015-05-16 11:33:27

标签: javascript jquery html css angularjs

我必须在页面加载时调用submit()函数。但是,这种安排会导致找不到submit()方法错误。我无法理解ng-controlleronload的位置。

此外,如果有任何替代方法可以使用角度进行此操作,请同时指出。

PS:这是一段代码片段。所有变量都已定义。

<body ng-controller="DashboardDisplay" onload="submit()">
    <div class="container-fluid" >

        {{scope.arr}}
    </div>
</body>
<script>

var myApp = angular.module('myApp',[]);
myApp.controller('DashboardDisplay', ['$scope','$http',function($scope,$http) {

    $scope.submit = function(){
        var jsonOb = {"A":"B"};
        $http.post(URL,jsonOb).
        success(function(response) {
            console.log('got it' + response);
            $scope.arr=response;
        }).
        error(function(data, status, headers, config) {
        console.log('nufin' + status);
        });
    }
    }]);

1 个答案:

答案 0 :(得分:1)

使用ng-init代替onload即

<body ng-controller="DashboardDisplay" ng-init="submit()">

并删除了之前在html中的范围,即 {{scope.arr}}至{{arr}}

我创建了工作DEMO https://jsfiddle.net/Shital_D/x2k8n23n/1/