javascript - 使用 ng-if 根据 ng-repeat 内的文件扩展名类型显示文本(Angular 的新功能)

标签 javascript html angularjs logical-operators angular-ng-if

这里有一个场景,如果文件扩展名是“pdf”、“xlsx”和“docx”,否则我必须显示文本“Y”,否则为“N”

<tr ng-repeat = "file in filedetails">
<td>
    <span ng-if ="(file .filename.substring(file.filename.lastIndexOf('.') + 1) === ('pdf'))">Y</span>
    <span ng-if ="(file.filename.substring(file.filename.lastIndexOf('.') + 1) === ('xlsx'))">Y</span>
    <span ng-if ="(file.filename.substring(file.filename.lastIndexOf('.') + 1) === ('docx'))">Y</span>
    <span ng-if ="(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== (('xlsx') || ('pdf') || ('docx')))">N</span></td></tr>

使用上面的代码,我可以为所有不受支持的文件扩展名显示“N”,但也可以显示“pdf”和“docx”。 在这种情况下,只有“xlsx”对“N”工作正常(Y 对所有人都工作正常)..我怎样才能实现这一点?

我对这个问题还有一个担忧......如果我想显示 N(如果它不属于扩展名“xlsx”、“pdf”、“docx”之一)以及另一个条件(如果它是)扩展名“xlsx”、“pdf”、“docx”之一并验证 file.conversion_status === (“SKIPPED”) 并显示 Y,其中扩展名之一为 true。请对此提供帮助

最佳答案

不幸的是:

(('xlsx') || ('pdf') || ('docx')))

...简单地计算为“xlsx”,而您所做的就是检查扩展名是否不等于“xlsx”。将扩展名的表达式缩短为“ext”,您需要测试的是:

ext !== 'xlsx' && ext !== 'pdf' && ext !== 'docx'

关于javascript - 使用 ng-if 根据 ng-repeat 内的文件扩展名类型显示文本(Angular 的新功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49184869/

相关文章:

html - 使一个 div 扩展到覆盖其他 div 的所有屏幕

javascript - 取消上传 Angular-evalate

javascript - 在 Angular js 中实现缓存服务时的 $timeout 保证

javascript - 如何在 React Native 中使用数组对象迭代数组

javascript - 在 Sencha Touch 中自动加载多层嵌套 JSON

javascript - 在 Angularjs 中访问对象

javascript - 取消订阅 PubNub channel 以响应(之前)卸载事件

javascript - fixture 不会在 Karma 中加载

php - 如何获取给定城市/国家的经度/纬度?

javascript - 显示总数HTML <span> 中的行