我有以下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'].


我该如何解决?

可以将其转换为过滤器吗?

在对象(文件)列表上,我需要获取给定类型的第一个对象。

最佳答案

您不能在Angular表达式中使用Array.prototype.filter方法。但是,您应该能够使用Angular过滤器来做到这一点。相应的表达式将如下所示:

data-ng-src="{{ (ebook.files | filter:{type:'ebook.cover'})[0].url }}"

关于javascript - 获取带有Angular条件的第一个元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38573969/

10-10 04:52