将呈现的数据属性传递给 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>
我需要将数据属性传递给 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>