在 Vue.js 中,@click="doSomething"@click="doSomething()" 之間有重要的差異。

  1. @click="doSomething":這種方式表示當元素被點擊時,Vue.js 會呼叫名為 doSomething 的方法。這個方法通常是在 Vue 實例的方法部分定義的。不帶括號表示你只是告訴 Vue 要在點擊時調用 doSomething 方法,而不是立即執行它。這在你需要根據事件觸發的時機來執行方法時非常有用。

  2. @click="doSomething()":這種方式表示在元素被點擊時,doSomething() 方法會立即執行。括號表示你要立即調用這個方法。如果你不希望事件觸發後等待,而是希望立即執行該方法,則可以使用這種方式。

總之,差異在於是否需要立即執行方法。如果你希望在事件觸發時才執行方法,則使用 @click="doSomething",如果你希望立即執行方法,則使用 @click="doSomething()"。通常,事件處理函數(不帶括號)在點擊時才執行,而其他普通方法(帶括號)可以在需要時直接調用。