2017-01-27 276 views
1

我在使用AngularJS作为我的前端应用程序中使用MEAN堆栈。我怎样才能在反复的答案删除Square Brackets []Double quotes ""My plunker实际上我们需要在我的应用程序显示role vlaues所以我们使用ng-repeat="mani in name.comments "得到答案,我们得到了像["user"]答案,["admin"]["kp"],我们究竟看,我们只需要单独显示值,不与[] Square BracketsDouble quotes .... 例如答案是: - 值是没有[] Square BracketsDouble quotes1. user , 2. admin, 3. kp如何在角度js中删除方括号[]和双引号“”?

我的数据: -

$scope.name = { 
"_id": "5863d3aaacaeddc00663bc07", 

"comments": [ 
{ 
"created": 1485511936350, 
"role": [ 
"user" 
], 
"email": "[email protected]", 
"name": "selvam R", 
"commentText": "mani selvam" 
}, 
{ 
"created": 1485511936350, 
"role": [ 
"admin" 
], 
"email": "[email protected]", 
"name": "selvam R", 
"commentText": "mani selvam" 
}, 
{ 
"created": 1485511936350, 
"role": [ 
"kp" 
], 
"email": "[email protected]", 
"name": "selvam R", 
"commentText": "mani selvam" 
} 
], 
"created": "2016-12-28T15:00:58.777Z", 
"isCurrentUserOwner": false 
}; 

我的HTML: -

<div ng-repeat="mani in name.comments "> 

       <td>{{$index + 1}}</td> 
       <td>{{mani.role }}</td> 

       </div> 
  • 请看成My plunker参考...

  • 期待的答案是没有[] Square BracketsDouble quotes ...

  • This role是在阵列中,所以只有它与[] Square BracketsDouble quotes显示,所以我们如何消除这一点,我们只需要显示值...我们已经尝试了很多方式,我们知道这是简单的任务,但我们无法解决这个问题。

  • 我们可以用css来删除此?......任何人知道的解决方案,请帮助我们...谢谢

  • 请更新plunker以及知道确切的解决方案....

回答

4

您只需要使用以下命令选择数组的第一个元素:

{{ mani.role[0] }}

var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.name = { 
 
    "_id": "5863d3aaacaeddc00663bc07", 
 

 
    "comments": [{ 
 
     "created": 1485511936350, 
 
     "role": [ 
 
     "user" 
 
     ], 
 
     "email": "[email protected]", 
 
     "name": "selvam R", 
 
     "commentText": "mani selvam" 
 
    }, { 
 
     "created": 1485511936350, 
 
     "role": [ 
 
     "admin" 
 
     ], 
 
     "email": "[email protected]", 
 
     "name": "selvam R", 
 
     "commentText": "mani selvam" 
 
    }, { 
 
     "created": 1485511936350, 
 
     "role": [ 
 
     "kp" 
 
     ], 
 
     "email": "[email protected]", 
 
     "name": "selvam R", 
 
     "commentText": "mani selvam" 
 
    }], 
 
    "created": "2016-12-28T15:00:58.777Z", 
 
    "isCurrentUserOwner": false 
 
    }; 
 
});
<!DOCTYPE html> 
 
<html ng-app="plunker"> 
 

 
<head> 
 
    <meta charset="utf-8" /> 
 
    <title>AngularJS Plunker</title> 
 
    <script> 
 
    document.write('<base href="' + document.location + '" />'); 
 
    </script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script data-require="[email protected]" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.10/angular.min.js" data-semver="1.5.10"></script> 
 
    <script src="app.js"></script> 
 
</head> 
 

 
<body ng-controller="MainCtrl"> 
 

 
    <div ng-repeat="mani in name.comments "> 
 

 
    <td>{{$index + 1}}</td> 
 
    <td>{{ mani.role[0] }}</td> 
 

 
    </div> 
 

 

 
</body> 
 

 
</html>

+1

感谢您的宝贵答案..... –

0

mani.role是一个数组,所以做这样的事情:

<td><span ng-repeat="r in mani.role">{{ r }} </span></td> 
3

可以使用toString()方法是作为数组转换显示为一个字符串。像这样:

 <td>{{mani.role.toString()}}</td> 

这将显示为一个字符串,因此"[]将被删除。

Plunkr showing this.

+0

感谢您的宝贵答复..... –

0

您的数据看起来像JSON数据,那么你需要的是通过这样的创建模块通读AngularJS JSON数据:在你的情况$http in AngularJS

var App = angular.module('App', []); 

App.controller('Ctrl', function($scope, $http) { 
    $http.get('data.json') 
     .then(function(res){ 
      $scope.data = res.data;     
     }); 
}); 

而且,W3Schools的有益