Как я могу избежать того, чтобы {{f = ...}}
оператор в третьей строке распечатал содержимое forecast[day.iso]
?
Я хочу избегать использования forecast[day.iso].temperature
и так далее на каждой итерации.
<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
Дэниел Ф
источник
источник
Ответы:
Используйте 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>
Пример: http://jsfiddle.net/coma/UV4qF/
источник
ng-init="day.f = forecast[day.iso]"
Это не лучший ответ , но это также вариант: поскольку вы можете объединить несколько выражений, но отображается только последнее, вы можете завершить свое выражение,
""
и ваша переменная будет скрыта.Итак, вы можете определить переменную с помощью:
{{f = forecast[day.iso]; ""}}
источник