Como posso evitar que a {{f = ...}}
declaração na terceira linha imprima o conteúdo de forecast[day.iso]
?
Eu quero evitar o uso forecast[day.iso].temperature
e assim por diante para cada iteração.
<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
fonte
fonte
Respostas:
Use 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>
Exemplo: http://jsfiddle.net/coma/UV4qF/
fonte
ng-init="day.f = forecast[day.iso]"
Não é a melhor resposta , mas também é uma opção: como você pode concatenar várias expressões, mas apenas a última é renderizada, você pode terminar sua expressão com
""
e sua variável será ocultada.Então, você pode definir a variável com:
{{f = forecast[day.iso]; ""}}
fonte