这里有一个场景,如果文件扩展名是“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/