如何从数组访问属性

时间:2015-12-23 06:21:06

标签: arrays angularjs

我使用angularjs来获取console.log中数组的属性,但是当我尝试访问时,我无法在数组中获取属性“name”。因此我必须访问name属性。

angular.module('ob3App.lead')
    .controller('LeadProductCtrl',['$scope','$http', function($scope,$http) {
        console.log('yjuhw');
        $scope.products=[];

    $scope.namegetfunction = function(){

        $http.get("http://5.9.42.45:8080/easycloud1/org.openbravo.service.json.jsonrest/Product?l=saiy5k&p=saiy5k")
        .success(function(response) {
            console.log(response);
            $scope.lent = response.data[0].name;
            console.log($scope.lent);
            alert('hi');
        })
        .error(function(response){
            alert('error');
        }); 
    };
    $scope.namegetfunction();

 }]);

以下或我的离子ui视图我需要查看列表中的所有名称,但我无法查看它。

 <ion-view>
    <ion-header-bar class="bar bar-header bar-positive flat">
        <button class="button button-positive" ng-click="back()"><i class="ion-arrow-left-c"> </i></button>
        <h1 class="title">Products</h1>
    </ion-header-bar>
    <ion-content>

        <ul class="list">
            <li class="item"  ui-sref="leadProduct" ng-repate="i in products">
             {i}
            </li>
        </ul>

    </ion-content>
</ion-view>

2 个答案:

答案 0 :(得分:0)

试试这个。

response.data.forEach(function(oneObj, key) {
    console.log(oneObj['name'])
})

response.data.forEach(function(oneObj, key) {
    console.log(oneObj.name)
})

答案 1 :(得分:0)

我注意到API的响应已经有一个&#34;响应&#34; name对象,你试图到达json路径错误,这里是正确的路由response.response.data [0] .name

我刚刚使用以下代码进行了快速演示。

$http.get("http://5.9.42.45:8080/easycloud1/org.openbravo.service.json.jsonrest/Product?l=saiy5k&p=saiy5k")
.success(function(json) {
    console.log(json);
    $scope.lent = json.response.data;
    console.log($scope.lent.length);

    $scope.lent.forEach(function(item){
      console.log(item.name);
      $scope.products.push(item);
    })

    console.log($scope.products);

})
.error(function(json){
    alert('error');
});

http://plnkr.co/edit/q1BqVM?p=preview