在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue2 中函數(shù)的定義怎么不一樣呢?

vue2 中函數(shù)的定義怎么不一樣呢?

問題描述

剛學vue2,學的有點蒙,組件的data必須是方法,該定義方法如代碼1所示

代碼1:

//方法1
data: function () {
  return {
    count: 0
  }
}

而在vue中methods里面定義的方法如代碼2所示
代碼2:

...
methods: {
    //方法2
    routeChange () {
      console.log('test')
    }
  },

同樣是定義為啥方法1和方法2定義的方式不一樣嘞?
emm...我也想百度,但是不知道從何問起吶,所以特意來此求助,emm...初入前端,問的太弱智請見諒,若有知道的麻煩給解答一下,非常感謝^-^### 問題描述

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

相關(guān)代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)

你期待的結(jié)果是什么?實際看到的錯誤信息又是什么?

回答
編輯回答
不將就

data設(shè)計為方法是因為不想多個組件同時操作data的引用(比如組件繼承),所以data是一個function,執(zhí)行返回才是真正的數(shù)據(jù)。

2017年1月26日 21:21
編輯回答
葬憶

兩者作用是一樣的,另外,我習慣寫成

data () {
  return {
  }
}
2017年3月22日 22:11
編輯回答
獨白

這個問題應該是js語法.js中函數(shù)是一種變量類型,因此函數(shù)可以用如下兩種語法來定義:
1, function test(){}
2, var test=function(){}

由此可知,對于對象的一個成員賦值,

var obj={test1(){},test2:function(){}}

obj的兩個成員test1和test2是等效的.至于為什么vue是那么寫,我理解是對于data,他的名字是規(guī)定的,用data:function(){}表示更為嚴謹,至于方法名,這個是任意取的,所以,采用更為自由的方式.實際上,我自己寫方法名的時候也都是采用methodName:function(){}這種方式,個人習慣問題吧.

2017年8月4日 00:29