首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ES6转换到ES5抛出语法错误

从ES6转换到ES5抛出语法错误
EN

Stack Overflow用户
提问于 2017-10-04 20:23:54
回答 1查看 206关注 0票数 1

我正在尝试将指令从ES6转换为ES5。它给我在范围内的语法错误,说明“期待换行符或分号”和链接:函数语句“函数语句应该在程序的顶层”。有人能帮我把这个ES6指令更改为ES5吗?

ES6中的指令

代码语言:javascript
运行
复制
directives.directive('clickAndWait', () => ({
        restrict: 'A',
        scope: {
            asyncAction: '&clickAndWait',
        },
        link: (scope, element) => {
        element.bind('click', () => {

        element.prop('disabled', true);
    // element.addClass('state-waiting');
    scope.$apply(() => {
        scope.asyncAction().finally(() => {
        element.prop('disabled', false);
    // element.removeClass('state-waiting');
});
});
});
},
}));

我的ES5代码

代码语言:javascript
运行
复制
        directives.directive('clickAndWait', function () {
       return {
           restrict : 'A',
           scope : {
               asyncAction: '&clickAndWait'
           },
           link : function(scope, element, attr) {
               element.bind('click', function(){
                   element.prop('disabled', true);
                   scope.$apply(function () {
                       scope.asyncAction().finally(function () {
                           element.prop('disabled', false);
                       })
                   })
               });
           }
       }

    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-05 17:42:22

主要将() => {重命名为function () {。但也要确保将返回语句添加到指令函数中,这在箭头函数中是隐含的。

代码语言:javascript
运行
复制
directives.directive('clickAndWait', function() {
    var directiveConfig = {

        restrict: 'A',
        scope: {
            asyncAction: '&clickAndWait',
        },
        link: function(scope, element) {
            element.bind('click', function() {

                element.prop('disabled', true);
                scope.$apply(function() {
                    scope.asyncAction().finally(function() {
                        element.prop('disabled', false);
                    });
                });
            });
        }
    };

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

https://stackoverflow.com/questions/46573560

复制
相关文章

相似问题

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