Comment puis-je éviter que la {{f = ...}}
déclaration de la troisième ligne imprime le contenu deforecast[day.iso]
?
Je veux éviter d'utiliser forecast[day.iso].temperature
et ainsi de suite à chaque itération.
<div ng-repeat="day in forecast_days">
{{$index}} - {{day.iso}} - {{day.name}}
{{f = forecast[day.iso]}}
Temperature: {{f.temperature}}<br>
Humidity: {{f.humidity}}<br>
...
</div>
javascript
angularjs
ng-init
Daniel F
la source
la source
Réponses:
Utilisez ngInit : https://docs.angularjs.org/api/ng/directive/ngInit
<div ng-repeat="day in forecast_days" ng-init="f = forecast[day.iso]"> {{$index}} - {{day.iso}} - {{day.name}} Temperature: {{f.temperature}}<br> Humidity: {{f.humidity}}<br> ... </div>
Exemple: http://jsfiddle.net/coma/UV4qF/
la source
ng-init="day.f = forecast[day.iso]"
Ce n'est pas la meilleure réponse , mais c'est aussi une option: puisque vous pouvez concaténer plusieurs expressions, mais que seule la dernière est rendue, vous pouvez terminer votre expression avec
""
et votre variable sera masquée.Ainsi, vous pouvez définir la variable avec:
{{f = forecast[day.iso]; ""}}
la source