在 Vue.js 中,@click="doSomething"
和 @click="doSomething()"
之間有重要的差異。
-
@click="doSomething"
:這種方式表示當元素被點擊時,Vue.js 會呼叫名為doSomething
的方法。這個方法通常是在 Vue 實例的方法部分定義的。不帶括號表示你只是告訴 Vue 要在點擊時調用doSomething
方法,而不是立即執行它。這在你需要根據事件觸發的時機來執行方法時非常有用。 -
@click="doSomething()"
:這種方式表示在元素被點擊時,doSomething()
方法會立即執行。括號表示你要立即調用這個方法。如果你不希望事件觸發後等待,而是希望立即執行該方法,則可以使用這種方式。
總之,差異在於是否需要立即執行方法。如果你希望在事件觸發時才執行方法,則使用 @click="doSomething"
,如果你希望立即執行方法,則使用 @click="doSomething()"
。通常,事件處理函數(不帶括號)在點擊時才執行,而其他普通方法(帶括號)可以在需要時直接調用。