【问题标题】:Directive syntax error on enter/return输入/返回指令语法错误
【发布时间】:2015-04-22 15:57:28
【问题描述】:

新手提醒

这很奇怪——当我编写这段代码时,试图在 AngularJS 中创建一个自定义指令:

myModule.directive('myTab', function(){
    console.log('--Inside TAB directive--');
    return 
    {
        template: '<div>Hello World</div>'
    };
});

它抛出异常: TypeError: Cannot read property 'compile' of undefined

但是,这段代码运行良好:

myModule.directive('myTab', function(){
    console.log('--Inside TAB directive--');
    return {
        template: '<div>Hello World</div>'
    };
});

唯一的区别是左大括号在第一个代码的下一行。这种行为正常吗?

【问题讨论】:

  • 从错误中看是其他东西导致了错误。
  • @OmriAharon 我能够始终如一地重现它 - 如果我在“返回”到下一行之后将大括号移动它会引发错误,否则它很好。
  • 简短的回答是:自动分号。长答案是:不要将左大括号放在下一行。
  • @SergioTulentsev 知道了,谢谢! :)

标签: javascript angularjs angularjs-directive syntax-error


【解决方案1】:

因为你是从函数返回的,下一行被忽略了。它只会看到返回,然后返回 undefined

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2014-11-15
    相关资源
    最近更新 更多