J'essaie d'utiliser un lien pour traduire dynamiquement un site Web.

Voici mon HTML:

<a  ng-click="switchLanguage('{{language.value}}')" >Translate</a>

{{language.value}} est une valeur dynamique tirée d'un fichier json et je peux vérifier que lors de l'exécution, elle est remplie avec la valeur appropriée ('en-us', 'ja-jp', etc ...)

Et voici ma fonction à l'intérieur d'un contrôleur:

function switchLanguage(newlan) {
    console.log(newlan);
}

Cependant, chaque fois que je clique sur le lien, la console affiche la valeur sous la forme {{language.value}}, au lieu de la valeur appropriée (ex: en-us).

Comment puis-je faire en sorte que la valeur à l'intérieur du ng-click transmette le paramètre correct à la fonction?

6
Artvader 8 mars 2016 à 09:39

3 réponses

Meilleure réponse

Utilisez ng-click="switchLanguage(language.value)"

Voici le PLUNKER : http://plnkr.co/edit/uOUD9f1P3tKp3IlGsjBK ? p = aperçu

7
Sunil Lama 8 mars 2016 à 06:47

Vous pouvez transmettre la valeur de cette manière:

<a ng-click="switchLanguage(language.value)">Translate</a>

Ce <a ng-click="switchLanguage('{{language.value}}')" >Translate</a> passera la '{{language.value}}' comme valeur.

2
moks 8 mars 2016 à 06:58

Au lieu de

<a ng-click="switchLanguage('{{language.value}}')" >Translate</a>

Utilisez ceci

<a ng-click="switchLanguage(language.value)" >Translate</a>
4
Subodh Ghulaxe 8 mars 2016 à 06:47