我收到一个数组,我在AngularJS的ng-repeat
中使用它。在该数组中有一些文件名,如abc.pdf
,xyz.jpg
,test.png
现在从这些文件名中我想获取这些文件的扩展名。如何在AngularJS / HTML中完成?
答案 0 :(得分:3)
您可以使用javascript substring方法:
Blob
如果您想直接在html中使用它,我建议您根据上述逻辑创建一个过滤器。
fileName.substr(fileName.lastIndexOf('.')+1)
您可以在模板中使用它:
angular.module('App.filters', [])
.filter('ext', [function () {
return function (text) {
return text.split('.').pop();
};
}]);
答案 1 :(得分:1)
在渲染数组之前转换(映射)数组,例如
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>
答案 2 :(得分:0)
只需使用简单的Javascript:
array.map(elem => elem.substring(elem.indexOf('.') + 1)
这将为您返回新的文件扩展名数组。
答案 3 :(得分:0)
XYZ
在大多数情况下都是
"abc.pdf".split(".")[{Index Of Last Element}]
这应该可以解决问题。