94

如何避免让{{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>
4

2 回答 2

194

使用ngInithttps ://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/

于 2013-05-21T08:46:25.880 回答
36

不是最好的答案,但它也是一种选择:因为您可以连接多个表达式,但只呈现最后一个,您可以完成您的表达式""并且您的变量将被隐藏。

因此,您可以使用以下方式定义变量:

{{f = forecast[day.iso]; ""}}
于 2016-02-19T18:53:12.273 回答