如何避免让第三行中的{{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>
答案 0 :(得分:178)
使用 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>
答案 1 :(得分:31)
它是not the best answer,但它也是一个选项:因为您可以连接多个表达式,但只渲染最后一个表达式,您可以使用""
完成表达式,并隐藏您的变量。< / p>
因此,您可以使用以下内容定义变量:
{{f = forecast[day.iso]; ""}}