2015-04-22 57 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