如何在AngularJS

时间:2016-09-23 14:43:02

标签: angularjs arrays asp.net-web-api

我是AngularJS的新手。我从SQL获取数据到AngularJS。我能够在ng-repeat中显示数据,但是我想获取我从控制器中的数据库传递的数组的某个属性的值,以便在其他函数中使用它。

下面是我获取数据的控制器。 $ scope.candidates将候选者的整个数据存储在一个数组中。我只想获得名字。有什么像$ scope.candidates.Firstname吗?

app.controller('CandidateCtrl', ['$scope', 'CandidateService',
    // we inject CandidatetService  inject becuse we call getAll method for get all student  
function ($scope, CandidateService) {
    // this is base url   
    var baseUrl = '/api/Candidate/';
    // get all candidate from databse  
    $scope.getCandidates = function () {
        var apiRoute = baseUrl + 'GetCandidates/';
        var _candidate = CandidateService.getAll(apiRoute);
        _candidate.then(function (response) {
            $scope.candidates = response.data;
        },
        function (error) {
            console.log("Error: " + error);
        });
    }
    $scope.getCandidates();

}]);

1 个答案:

答案 0 :(得分:0)

在您的模板中,您将拥有一个元素(在此示例中为div),并在您的集合中添加了ng-repeat。然后在div中使用ng-repeat,你将有另一个元素(在这个例子中是另一个div),你可以在其中访问集合中单个项目的属性:

< div ng-repeat="candi in candidates">
    <div>{{candi.Firstname}}</div>
< /div>

如果你想在JavaScript中使用名字的集合,你可以使用map函数:

var firstNames = $scope.candidates.map(function(c) { return c.Firstname; });