控制器中的角函数更多

angular more function in function in controller

本文关键字:函数 控制器      更新时间:2023-09-26

我的任务是用angular发出一些http请求。我对棱角分明很陌生,我热衷于制定我应该如何使用该应用程序的具体规则。你能告诉我有可能这样做吗?我会描述或不描述,如果可能,如何描述?

在视图中,我需要有几个按钮或常规链接,它们将调用控制器中的函数。所以我需要一个具有多个函数的控制器,并且我需要每个函数的数据只有在调用时才可用。我在控制器上做了一个功能:

(function() {
'use strict';
angular
    .module('userManager')
    .controller('userDataController', userDataController);

function userDataController(auth, $scope,$http){
    var vm = this;
    vm.loggedUser = auth;
    vm.allUsers=[];
    function allUsersGet() {
        $http({
            method: 'GET',
            url: 'http://localhost:3000/users/allUsers',
            headers: {
                'Content-Type': 'application/json'
            }
        }).then(function (response) {
            vm.allUsers = response.data;
        });
    }
}
})();

但我无法查看这些数据。有人能告诉我如何在视图和数据打印中编写链接吗?我需要在控制器中更改一下功能吗?

提前感谢

<div ng-controller="userDataController as userData" >
 <div ng-repeat="user in userData.allUsers">
   {{user}}
 </div>
</div>

对于使用"this"绑定数据,您可以使用上述方法。

您可以在任何模板中使用控制器,如下所示:

<div ng-controller="userDataController as $ctrl">
    <button ng-click="$ctrl.allUsersGet()">get users data</button>
    <pre>
    {{ $ctrl.allUsers }}
    </pre>
</div>

您可能还想将allUsersGet函数绑定到控制器。代替

function allUsersGet() { ...

写入

this.allUsersGet = function() { ...

在检索数据时更改以将数据设置为$scope

}).then(function (response) {
    vm.allUsers = response.data;
    $scope.allUsers = response.data;
});

在您的视图中,您可以按如下方式循环数据:

<div ng-repeat="user in allUsers">
  {{user}}
</div>