Ja, das kann man in AngularJS leicht tun.
eine hartkodierte Check Putting maßstabs wäre schwierig, wenn man viele Tiere haben, werde :)
So handhaben, ein wenig Ihrer Struktur zu verändern. Lassen Sie die animals
ein Array von Objekten sein. Etwas wie:
$scope.animals = [{name: "ABC", locale: "en"}, {name: "XYZ", locale: "de"}];
Angenommen, Sie haben en
als ausgewählte locale
$scope.selectedlocale = 'en';
Nun iterieren nur über die animals
Array und machen dementsprechend:
<div ng-repeat="animal in animals">
<div ng-if="animal.locale === selectedLocale">
{{ animal.name }}
</div>
</div>
Hinweis
ng-show
- lassen Sie das Element in DOM sein, aber versteckt, wenn die Bedingung
ng-if
nicht - lassen Sie das Element nicht in DOM sein, wenn die Bedingung nur nicht, dass es zusätzliche Beobachter fügt hinzu, wenn das nicht das Problem ist, die Sie haben.
Danke, ich denke, dass es funktionieren würde. Aber wie erhalten Sie aktuelle Locale? Jetzt versuche ich Moment zu verwenden, aber es gibt immer das Standardgebietsschema zurück. – Novikov
Sie können es explizit auf "en" setzen und ein Dropdown-Feld bereitstellen, in dem der Benutzer seine eigenen auswählen und entsprechend Ihre Ansichten aktualisieren kann. Die zweite Option ist: 'navigator.language' oder' moment.locale(); ' – softvar
Bitte markieren Sie diese als Antwort, wenn sie die Anforderungen der Frage erfüllt :) – softvar