在 Vue 中,this 的指向取決於上下文:方法中指向目前 Vue 實例。範本中指向元件上下文,包括資料、屬性、計算屬性和方法。事件處理程序中預設指向 DOM 元素,可透過 bind 或 v-on 修飾符綁定到 Vue 實例。全域物件中指向 Vue 根實例,可存取全域配置和方法。
Vue 中this 指向什麼
在Vue 中,this
關鍵字指向不同的對象,取決於它的使用上下文。
1. 方法和計算屬性
在方法和計算屬性中,this
指向目前的 Vue 實例。這意味著你可以存取實例的資料和方法,例如:
<code class="javascript">methods: { logThis() { console.log(this); }, },</code>
呼叫 logThis
方法時,this
將指向目前的 Vue 實例。
2. 範本
在範本中,this
指向目前元件的上下文對象,該物件包括以下屬性:
$data
:元件的資料物件$props
:元件接收的屬性 :元件的計算屬性
:元件的方法
<code class="html"><template> <p>{{ this.$data.message }}</p> </template></code>
this .$data.message 將存取元件
data 物件中
message 屬性。
3. 事件處理程序
在事件處理程序中,this 指向觸發該事件的 DOM 元素。但是,可以透過使用
bind 或
v-on 修飾符來將
this 綁定到目前的 Vue 實例。
<code class="javascript">methods: { handleClick(event) { console.log(this); // 指向 Vue 实例 }, },</code>
<code class="html"><button @click="handleClick">Click Me</button></code>
4. 全域物件
在Vue 根實例之外,this 會指向全域Vue 對象。這意味著你可以存取全域配置和方法,例如:
<code class="javascript">console.log(this.$options.components); // 打印注册的全局组件 this.$mount(app); // 挂载 Vue 根实例</code>
以上是vuethis指向什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!