REVISION
当我真正理解我的问题时,我已经修改了这个问题以寻找更好的答案。虽然this link对于接受'的MIME类型很有帮助。属性,我的问题更深入。
我正在编写一个允许用户上传文件的应用程序,这些文件必须是特定的MIME类型。
该指令在很多地方使用,并且MIME类型需要在这些地方进行更改。我需要动态构造template
的{{1}}以适应指令的每个实现。
假设我这样写HTML:
directive
我希望将该MIME类型应用于<cmc-file-upload mimeType="text/html" ng-if="reportFileUploadSettings.showFileUploader" upload-complete-callback="importReportFile(content)" ></cmc-file-upload>
的{{1}}:
template
不幸的是,这段代码似乎没有这种方式。
我该如何做到这一点?
参考错误:directive
未定义...
答案 0 :(得分:1)
限制为html使用此:
template: '<input type="file" accept="text/html" id="files" name="files[]" multiple /><output id="list"></output>',
关于如何使用accept
的完整答案在这里:
答案 1 :(得分:1)
将mimeType: "&",
更改为mimeType: "@",
因为你做了
mimeType="text/html"
由于“text / html”不是变量,而是原始字符串,因此需要使用@
然后,改变
accept="' + scope.mimeType + '"
到
accept="{{mimeType}}"
因为scope
变量未定义(尚未) - 一旦Angular解析模板,它将用变量替换mimeType
。
编辑:最后一个问题是mimeType="text/html"
需要mime-type="text/html"
,因为在你做指令时
mimeType: "@",
它认为因为你使用了camelCase它应该寻找mime-type