我正在尝试创建一个通讯录,其中每个人都可以拥有一张照片。因为我想在获取照片之前显示联系人,所以我会写类似
<ul>
<li ng-repeat="person in persons">{{person.firstname}} {{persone.lastname}}</li>
</ul>
我会尝试调用我范围内可用的 get_photo(person) 。
<ul>
<li ng-repeat="person in persons">{{person.firstname}} {{persone.lastname}}
<img ng-src="{{get_photo(person)}}" />
</li>
</ul>
这不起作用,因为它将函数绑定到 ng-src 并在每次调用 ng-repeat 时调用 get_photo 。
我终于尝试在初始化 DOM 元素时调用 get_photo 并将结果存储在特定属性 photo
<ul>
<li ng-repeat="person in persons">{{person.firstname}} {{persone.lastname}}
<img ng-init="get_photo(person)" ng-src="{{person.photo}}" />
</li>
</ul>
$scope.get_photo = function (person) {
// Simple example; I will try to get an image through xhr request later...
person.photo = "http://img.blogduwebdesign.com/benjamin-sanchez/737/AngularJS.jpg";
};
有没有更简单/更清洁的方法来做同样的事情?我还创建了一个 jsFiddle:http: //jsfiddle.net/V4Mss/
非常感谢您的反馈!
t00f