2015-04-22 32 views
0

小白警报指令语法错误/返回

这很奇怪 - 试图创建AngularJS自定义指令,当我写这篇文章的代码:

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

它抛出异常: 类型错误:无法读取属性未定义

“编译”不过,这段代码运行正常:

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

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

+0

从错误中看到其他内容导致错误。 –

+0

@OmriAharon我可以一贯地重现它 - 如果我在“返回”之后将大括号移动到下一行,则会引发错误,否则就会发生错误。 – kangaroo

+0

简短的答案是:自动分号。长的答案是:不要在下一行放置大括号。 –

回答

1

因为您从函数返回并忽略下一行。它将从字面上看到返回,并返回undefined

+0

哦!很酷,是的,这是有道理的。谢谢! – kangaroo