使用 ng-if 在 ng-repeat 中根据文件扩展名类型显示文本(angular 的新功能)
Using ng-if for displaying text based on file extension type inside ng-repeat (new to angular)
如果文件扩展名为 '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.please help on this
此行无法按预期工作:
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== (('xlsx') || ('pdf') || ('docx')))
每个 OR (||
) 需要 2 个操作数。这将是:
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'xlsx') ||
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'pdf') ||
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'docx')
不幸的是:
(('xlsx') || ('pdf') || ('docx')))
...简单计算为 'xlsx',而您所做的只是检查扩展名是否不等于 'xlsx'。将扩展的表达式缩短为 'ext',您需要测试的是:
ext !== 'xlsx' && ext !== 'pdf' && ext !== 'docx'
如果文件扩展名为 '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.please help on this
此行无法按预期工作:
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== (('xlsx') || ('pdf') || ('docx')))
每个 OR (||
) 需要 2 个操作数。这将是:
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'xlsx') ||
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'pdf') ||
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'docx')
不幸的是:
(('xlsx') || ('pdf') || ('docx')))
...简单计算为 'xlsx',而您所做的只是检查扩展名是否不等于 'xlsx'。将扩展的表达式缩短为 'ext',您需要测试的是:
ext !== 'xlsx' && ext !== 'pdf' && ext !== 'docx'