首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ng-if根据ng内的文件扩展名类型显示文本-重复(新到角)

使用ng-if根据ng内的文件扩展名类型显示文本-重复(新到角)
EN

Stack Overflow用户
提问于 2018-03-09 00:40:56
回答 2查看 988关注 0票数 0

在这里,如果文件扩展名为“pdf”、“xlsx”和“docx”,则必须显示文本“Y”。

代码语言:javascript
运行
复制
<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>

使用上面的代码im能够显示所有不支持的文件扩展名'N‘,但同时显示为'pdf’和'docx‘。只有'xlsx‘对'N’很好,在这种情况下(Y对所有的人都很好),..How我能做到这一点吗?

我对这个question....if还有一个顾虑,如果它不是一个扩展'xlsx','pdf','docx‘,如果它是扩展名'xlsx','pdf','docx’并验证file.conversion_status === (‘跳过’)的一个扩展,那么我还想显示N,并显示Y,其中一个扩展是true.please帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-09 00:46:50

不幸的是:

代码语言:javascript
运行
复制
(('xlsx') || ('pdf') || ('docx')))

...simply计算结果为'xlsx',您所做的只是检查扩展名是否等于'xlsx‘。将扩展的表达式缩短为“ext”,您需要测试的是:

代码语言:javascript
运行
复制
ext !== 'xlsx' && ext !== 'pdf' && ext !== 'docx'
票数 1
EN

Stack Overflow用户

发布于 2018-03-09 00:46:42

这一行将不能像预期的那样工作:

代码语言:javascript
运行
复制
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== (('xlsx') || ('pdf') || ('docx')))

每个OR (||)需要2个操作数。这将是:

代码语言:javascript
运行
复制
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'xlsx') ||
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'pdf') ||
(file.filename.substring(file.filename.lastIndexOf('.') + 1) !== 'docx')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49184869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档