【问题标题】:IE support for multiple Angular ng-class expressionsIE 支持多个 Angular ng-class 表达式
【发布时间】:2016-04-01 17:05:07
【问题描述】:

我在下面有一个代码示例,我在其中检查文件扩展名并相应地设置上传文件的图标。由于支持多个文件,我为每个文件设置了图标,并根据扩展名应用具有ng-class 属性的相关类。它在 IE11 中不起作用。我用单个表达式进行了检查以确认并且它有效。有解决办法吗?

<i flex ng-class="{
          'icon-pdf': (fileDetails['extention'].search('pdf') != -1),
          'icon-word': (fileDetails['extention'].search('doc') != -1),
          'icon-ppt': (fileDetails['extention'].search('ppt') != -1),
          'icon-xls': (fileDetails['extention'].search('xlsx') != -1),
          'icon-html': (fileDetails['extention'].search('html') != -1),
          'icon-jpg': (fileDetails['extention'].search('jpg') != -1),
                        'icon-jpg': (fileDetails['extention'].search('png') != -1),
          'icon-wit': (fileDetails['extention'].search('txt') != -1)}"
>
            </i>

【问题讨论】:

    标签: javascript angularjs internet-explorer internet-explorer-11


    【解决方案1】:

    我以前没有读过这个错误,但你可以创建一个返回正确类的函数,而不是像这样拥有多个 ng-class 属性:

    在您的模板中:

    <i flex ng-class="getIconClass(fileDetails['extention'].search)"></i>
    

    在你的控制器中:

    function getIconClass(search) {
        if(search('pdf') != -1)
            return 'icon-pdf';
        if(search('doc') != -1)
            return 'icon-word';
        if(search('ppt') != -1)
            return 'icon-ppt';
        if(search('xlsx') != -1)
            return 'icon-xls';
        if(search('html') != -1)
            return 'icon-html';
        if(search('jpg') != -1 || search('png') != -1)
            return 'icon-jpg';
        if(search('txt') != -1)
            return 'icon-wit';
    }
    

    【讨论】:

    • 谢谢。这似乎是更清洁的方法。我还找到了一种方法,发布在下面的答案中,也许也有帮助。
    【解决方案2】:

    我找到了一种方法,除了 Martijn 的方式(更清洁)之外,还使用了 ng-class 三元运算符。发布它是为了扩展知识。

    <i flex ng-class="
        fileDetails['extention'].search('pdf') != -1? 'icon-pdf': 
        fileDetails['extention'].search('doc') != -1 ? 'icon-word': 
        fileDetails['extention'].search('ppt') != -1? 'icon-ppt':
        fileDetails['extention'].search('xlsx') != -1? 'icon-xls':
        fileDetails['extention'].search('html') != -1? 'icon-html':
        fileDetails['extention'].search('jpg') != -1? 'icon-jpg':
        fileDetails['extention'].search('png') != -1? 'icon-jpg':
        fileDetails['extention'].search('txt') != -1? 'icon-wit': 'icon-html' "></i>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多