我有以下Angular 1.0代码:
<div ng-repeat="ebook in vml.ebooks">
<img data-ng-src="{{ ebook.files.filter(function (v) { return v.type === 'ebook.cover'; })[0].url }}" />
</div>
但我收到错误:
"Error: [$parse:syntax] Syntax Error: Token 'ebook' is an unexpected token at column 55 of the expression ['ebook.files.filter(function (v) { return v.type === 'ebook.cover'; })[0].url'] starting at [ebook.cover'; })[0].url'].
我该如何解决这个问题?
是否可以将其转换为过滤器?
在对象(文件)列表中,我需要获得具有给定类型的第一个。
答案 0 :(得分:2)
确定...创建自己的过滤器,然后将其传递到data-ng-src:
data-ng-src="{{ ebook.files | myFilter:'ebook.cover' }}
答案 1 :(得分:1)
您无法在Angular表达式中使用Array.prototype.filter
方法。但是,您应该能够使用Angular过滤器。相应的表达式如下所示:
data-ng-src="{{ (ebook.files | filter:{type:'ebook.cover'})[0].url }}"