Как получить расширение имени файла в AngularJS? - PullRequest
0 голосов
/ 22 мая 2018

Я получаю массив, который я использую в ng-repeat в AngularJS.В этом массиве есть некоторые имена файлов, такие как abc.pdf, xyz.jpg, test.png

Теперь из этих имен файлов я хочу получить расширение этих файлов.Как это сделать в AngularJS / HTML?

Ответы [ 4 ]

0 голосов
/ 22 мая 2018

Конвертировать (отобразить) массив перед его рендерингом, например,

var fileNames = ['abc.pdf', 'xyz.jpg']
$scope.files = fileNames.map(function (fileName) {
  return {
    name: fileName,
    ext: fileName.substr(fileName.lastIndexOf('.') + 1)
  }
});

Затем отобразить

<ul>
  <li ng-repeat="file in files">{{file.name}} {{file.ext}}</li>
</ul>
0 голосов
/ 22 мая 2018

Просто используйте простой Javascript:

array.map(elem => elem.substring(elem.indexOf('.') + 1)

Это вернет вам новый массив расширений файлов.

0 голосов
/ 22 мая 2018
"abc.pdf".split(".")[{Index Of Last Element}]

, что в большинстве случаев будет

abc.pdf".split('.')["abc.pdf".split('.').length -1];

Это должно сработать.

0 голосов
/ 22 мая 2018

Вы можете использовать метод подстроки javascript:

fileName.substr(fileName.lastIndexOf('.')+1)

Если вы хотите использовать его непосредственно в html, я бы предложил вам создать фильтр на основе вышеуказанной логики.

angular.module('App.filters', [])
    .filter('ext', [function () {
        return function (text) {
            return text.split('.').pop();
        };
    }]);

И вы можете использовать его в шаблонах как:

{{filename | ext}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...