2013-10-15 2 views
0

j'ai données à revenir dans le format suivantAngularJS d'émission de fractionnement chaîne

"yes | Yes no | No" 

Cette chaîne représente plusieurs choses. Dans son ensemble, il représente une série de boutons radio. Sur le côté gauche de la | est la valeur réelle du bouton radio. Le bon côté est l'étiquette. Cette chaîne représente donc la suivante:

Oui (valeur = yes) Non (valeur = non)

La chaîne est stockée plusieurs profondes couches dans un objet géant, et donc, je dois être en mesure de diviser les composants individuels et les utiliser tout en maintenant de manière fiable le modèle d'avoir la valeur d'abord et l'étiquette en second lieu. Toute suggestion sur la façon dont je peux y parvenir en utilisant angulaire?

Répondre

0

Dans le service où les données reviennent, vous devez écrire une fonction pour l'analyser et l'organiser. Vous POUVEZ bénéficier d'un filtre personnalisé, mais ce n'est vraiment pas applicable ici car les filtres sont traditionnellement destinés à être utilisés sur la vue. Ce n'est pas vraiment une question angulaire, sauf si votre question est largement comment le faire dans une application angulaire.

0

Je suis d'accord avec @Fourth. Cela ne semble pas être un problème vraiment "angulaire". C'est plus un problème de javascript. Quoi qu'il en soit, voici ma solution d'une ligne (bien que sa jolie poilue):

var fullString = "yes | Yes no | No"; 
var parts = fullString.split(/[ |]/).filter(function(str){ return str !== '';}); 
// parts is now ["yes", "Yes", "no", "No"] 

Et vous suffit d'utiliser les valeurs dans le tableau comme vos étiquettes et des valeurs pour vos boutons radio. Cela signifie que parts[0] correspond à la valeur du premier bouton radio et parts[1] correspond à l'étiquette. Je sais que c'est une solution plutôt poilue, mais quiconque a décidé d'encoder les valeurs de ces boutons radio dans une chaîne mal délimitée à la fois par des espaces et des barres verticales, c'est eux qui sont responsables.

Questions connexes