recherche

Maison  >  Questions et réponses  >  le corps du texte

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 ?

$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,

迷茫迷茫2843 Il y a quelques jours615

répondre à tous(1)je répondrai

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:10:44

    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>

    répondre
    0
  • Annulerrépondre