鍍金池/ 問答/HTML/ vue 鉤子函數(shù)mounted () { } 報(bào)錯,很奇怪,請問什么原因?

vue 鉤子函數(shù)mounted () { } 報(bào)錯,很奇怪,請問什么原因?

mounted () {
  ['test'].forEach(a => console.log(a))
} 

出現(xiàn)下面的錯誤
圖片描述

mounted () {
  console.log(['test'].forEach)  // 加了這一行
  ['test'].forEach(a => console.log(a))
} 

注意錯誤信息變了?。?!
圖片描述

回答
編輯回答
枕頭人

大概率是編譯完的代碼有問題,嘗試加括號。
(['test']).forEach

console.log(xxx)
;(['test']).forEach
2017年3月20日 11:40
編輯回答
冷溫柔

居然可以了

2017年9月28日 12:33
編輯回答
舊城人

第一個報(bào)錯稍后再說。

第二個報(bào)錯是因?yàn)槟銢]有加分號的原因

mounted () {
  console.log(['test'].forEach)  // 加了這一行
  ['test'].forEach(a => console.log(a))
} 

解析成

mounted () {
  console.log(['test'].forEach)['test'].forEach(a => console.log(a))
  console.log(['test'].forEach)的返回值的['test']屬性然后去forEach
} 
2017年12月7日 00:51
編輯回答
尐飯團(tuán)

第二個錯誤的原因見采納的答案。
第一個錯誤也是因?yàn)榉痔枺?br>其實(shí)在第一個報(bào)錯那里,mounted中的內(nèi)容是

mounted () {
  this.items = data.items
  ['test'].forEach(a => console.log(a))
} 

因?yàn)椴恢朗欠痔柕脑蚓桶裻his.items = data.items這行給省略了
項(xiàng)目中使用了eslint,而eslint又不建議寫分號,所以最近才養(yǎng)成了不寫分號的習(xí)慣

2017年3月3日 19:21