在这里,我有这样的情况,如果文件扩展名为"pdf","xlsx"和"docx",则为"N",则必须显示文本"Y">
<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 === ("跳过"(并显示 Y 并且扩展名之一为真。
不幸的是:
(('xlsx') || ('pdf') || ('docx')))
。只需计算为"XLSX",您要做的就是检查扩展名是否等于"XLSX"。将扩展的表达式缩短为"ext",您需要测试的是:
ext !== 'xlsx' && ext !== 'pdf' && ext !== 'docx'
此行将无法按预期工作:
(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')