首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TextAngular fileDropHandler文档

TextAngular fileDropHandler文档
EN

Stack Overflow用户
提问于 2015-01-07 09:32:49
回答 2查看 1.9K关注 0票数 8

我们刚刚将文本角升级到1.2.2,因为它现在支持拖放。

曾经在defaultFileDropHandler中看到过textAngualrSetup,无论怎样,都很难找到任何文档来支持它或如何使用它。

代码语言:javascript
复制
defaultFileDropHandler:
    /* istanbul ignore next: untestable image processing */
    function (file, insertAction)
    {
        debugger;
        var reader = new FileReader();
        if(file.type.substring(0, 5) === 'image'){
            reader.onload = function() {
                if(reader.result !== '') insertAction('insertImage', reader.result, true);
            };

            reader.readAsDataURL(file);
            return true;
        }
        return false;
    }

基本上,我们希望允许用户拖动多个pdf,word文档等,并上传提交。

我们可以让它以一种方式运行,在设置页面中添加功能到defaultFileDropHandler中,

我们通过以下方式实施ta:

代码语言:javascript
复制
<div text-angular data-ng-model="NoteText" ></div>

然而,是否有更清洁的方法来实现这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-20 00:30:48

很抱歉缺少医生!

基本上,defaultFileDropHandler是在HTML事件被触发时触发的。

通过textAngularSetup文件实现这一点很好,但将全局应用于所有实例。要仅为textAngular的一个实例应用处理程序,请使用ta-file-drop属性,它应该是作用域上具有与defaultFileDropHandler相同签名的函数的名称。例如:

控制器中的JS

代码语言:javascript
复制
$scope.dropHandler = function(file, insertAction){...};

HTML

代码语言:javascript
复制
<div text-angular data-ng-model="NoteText" ta-file-drop="dropHandler"></div>
票数 9
EN

Stack Overflow用户

发布于 2016-07-20 02:35:11

两人都回答得好,谢谢!

我只想把完整的代码放在全局情况下,因为代码只是一个片段.

代码语言:javascript
复制
app.config( function( $provide ) {
    $provide.decorator( 'taOptions', [ '$delegate', function( taOptions ) {

        taOptions.defaultFileDropHandler = function( file, insertAction ) {
            // validation
            if( file.type.substring( 0, 5 ) !== "image" ) {
                // add your own code here
                alert( "only images can be added" );
                return;
            }
            if( file.size > 500000 ) {
                // add your own code here
                alert( "file size cannot exceed 0.5MB" );
                return;
            }

            // create a base64 string
            var reader = new FileReader();
            reader.onload = function() {
                reader.result && insertAction( "insertImage", reader.result, true );
            };

            reader.readAsDataURL(file);
            return true;
        };

        return taOptions;
    }]);
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27816253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档