将呈现的数据属性传递给 angular

Pass rendered data- attributes to angular

我需要将数据属性传递给 angular 控制器函数。 (我确定有更好的名字,但上下文在下面):

Dropzone.js 有一个 "preview template"。 对于您在拖放区上传的每个文件,它都会呈现您在此处指定的 HTML。

这是HTML中有趣的部分:

    <div class="dz-size"><span data-dz-size></span></div>
    <div class="dz-filename"><span data-dz-name></span></div>

我想做这样的事情:

<div class="dz-filename"><span data-dz-name></span></div>
<i class="fa" class="{{getIconFromFilename(dz-name)}}" style="..."></i>    

有人知道正确的语法吗?

我发现 Dropzone here

的复杂 angular 指令

您可以在上传后捕获文件,然后在您的范围内设置正确的 class 名称

$scope.dropzoneConfig = {
'options': { // passed into the Dropzone constructor
  'url': 'upload.php'
},
'eventHandlers': {
  'sending': function (file, xhr, formData) {
  },
  'success': function (file, response) {
     // set scope icon class from file
  }
}};

你需要的是 ng-class directive.
根据您的功能 returns 这可能有效:

<i class="fa" ng-class="[getIconFromFilename(dz-name)]"></i>