angulaire.js - L'objet boucle ng-repeat est une chaîne. Comment puis-je le convertir en objet tableau via un filtre sur la page ?
迷茫
迷茫 2017-05-15 17:08:44
0
1
609

$scope.data=[
{"type":"00",
"obj":"[{"name":"a1","age":21},{"name" :"a2","age":21},{"name":"a3","age":21 }]"},
{"type":"01",
"obj":"[{"name":"a1","age":21},{"name":"a2" ,"age":21},{"name":"a3","age":21}]"}
]

Modèle de page
<ul ng-repeat="élément dans les données">
<li ng-repeat="détail dans item.obj">{{detail.name}}{{detail.age}}</li>
</ul>
Mais parce que item.obj n'est pas un tableau mais un objet chaîne. Ma méthode actuelle consiste simplement à contrôler. Bouclez le tableau de données dans le contrôleur et convertissez l'objet obj en json. Cependant, cette méthode n'est pas efficace car elle nécessite une boucle pour modifier les données dans le contrôleur
Je voudrais donc demander s'il existe un moyen de changer. l'élément sur la page obj est converti en un objet tableau, ce qui rend ng-repeat efficace, similaire à
<li ng-repeat="détail dans {{item.obj|Méthode de filtrage}}">{{detail.name}}</li>Méthodes principales ou autres méthodes réalisables,

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(1)
过去多啦不再A梦
angular.module('app', [])
  .filter('jsonParse', function() {
    return function (str) {
      try{
        return JSON.parse(str);
      }catch (e){
        return str;
      }
    }
  })
<ul ng-repeat="item in data">
  <li ng-repeat="detail in item.obj | jsonParse">{{detail.name}}{{detail.age}}</li>
</ul>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal