$ interval问题,意外结束

时间:2015-03-20 12:44:45

标签: angularjs

我是angularjs的新手,所以这可能很简单。我将此作为我的主要应用入口点:

<div ng-app="mainApp">
<div ng-view></div>
</div>

如此路由:

$routeProvider
    .when('/general', { templateUrl: '/Rewards/SelfService_General', controller: 'GeneralController' })
    .when('/resources', { templateUrl: '/Rewards/SelfService_Resources', controller: 'ResourcesController' })
    .otherwise({ redirectTo: '/general' });

我的资源控制器是这样的:

appRoot.controller('ResourcesController', ['$scope', '$interval', '$http', function ($scope, $interval, $http) {

$scope.GetResources =  function GetResources() {
    var requestData = {
        AccessKey: "",
        Culture: ""
    };

    $http.post('http://myapi.com/etc', requestData)
    .success(function (data, status, headers, config) {
        $scope.ViewName = status;
        alert('success');
    })
    .error(function (data, status, headers, config) {
        $scope.ViewName = status;
        alert('error');            
    });

};       

$interval($scope.GetResources(), 5000);

}]);

在加载页面时,立即调用GetResources函数并按预期命中,返回错误函数返回401状态。令我惊讶的是,没有进一步调用GetResources。为什么间隔结束?

2 个答案:

答案 0 :(得分:1)

添加此答案以解决此问题。

在您的标记中,属性名称应为ng-click而不是ngclick

答案 1 :(得分:0)

$interval($scope.GetResources(), 5000);应为$interval($scope.GetResources, 5000);