Angularjs convertir en chaîne de caractères de l'objet à l'intérieur de ng-repeat
j'ai une chaîne enregistrée dans ma db
{"first_name":"Alex","last_name":"Hoffman"}
Je suis de chargement en tant que partie de l'objet dans le champ d'application, puis aller à travers elle avec ng-repeat. Les autres valeurs de champ sont seulement les chaînes de
{"id":"38","fullname":"{\"first_name\":\"Alex\",\"last_name\":\"Hoffman\"}","email":"alex@mail","photo":"img.png"}
Mais je veux l'utiliser ng-repeat à l'intérieur de ng-repeat pour obtenir le premier et le dernier nom distinct
<div ng-repeat="customer in customers">
<div class="user-info" ng-repeat="name in customer.fullname">
{{ name.first_name }} {{ name.last_name }}
</div>
</div>
Et je ne reçois rien. Je pense, le problème de l'ist, que la pleine valeur de nom est une chaîne de caractères. Est-il possible de le convertir en objet?
OriginalL'auteur Sobakinet | 2015-09-28
Vous devez vous connecter pour publier un commentaire.
Tout d'abord... je n'ai aucune idée de pourquoi cela pourrait être stockées sous forme de chaîne... mais je suis ici pour vous sauver.
Lorsque vous obtenez d'abord les données (je suis en supposant que via $http.requête get)... avant de les stocker à $champ d'application.les clients... nous allons le faire:
Maintenant NG-Repeat a été conçu pour parcourir les tableaux et les objets de sorte que votre imbriquée NG-Repeat n'est pas nécessaire... votre code devrait ressembler à ceci:
Cela devrait résoudre votre problème 🙂
Content d'avoir pu aider 😀
OriginalL'auteur Robo Rick
Vous devez convertir la chaîne de la valeur à un objet (pourquoi c'est une chaîne, aucune idée)
Ensuite utiliser l'objet
ngRepeat
syntaxe ((k, v) in obj
):Je dirais que la première étape est de trouver si c'est une chaîne réelle ou pas - si c'est pas - vous devez utiliser le bon
ngRepeat
syntaxe - si c'est le cas, alors vous créer unfilter
de convertir, mais pourquoi ne pas les convertir via le serveur avant que le client obtient-il?est le ng-repeat syntaxe dans le dernier extrait de code dans ma question n'est pas correcte?
C'est la syntaxe d'un tableau
[1,2,3]
- pour un objet, c'est différent{name:"Justin", number:3}
-(k, v) in obj
OriginalL'auteur tymeJV
Mon conseil est d'utiliser un filtre comme:
<div class="user-info"... ng-bind="customer | customerName">...
Le filtre ressemblerait à:
OriginalL'auteur Dragos Rusu
J'ai eu le même problème, mais je résoudre ce genre de choses à travers le filtre personnalisé...
JSON :
De l'INTERFACE utilisateur:
FILTRE PERSONNALISÉ::
OriginalL'auteur Rakesh