它說“這里回傳的任何東西都可用于組件的其余部分”(https://v3.vuejs.org/guide/composition-api-introduction.html#setup-component-option),但我收到了這個錯誤c 是設定中回傳的變數:找不到名稱 'c'.ts(2304)。
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
setup(props) {
let c = 123;
return { c }
},
methods: {
increment() {
c;
}
}
})
</script>
有什么幫助嗎?
uj5u.com熱心網友回復:
您需要在setup方法中使用this關鍵字訪問通過方法公開的變數。
警告:
但這只是一種糟糕的處理方式,因為您正在composition api與options api. 請參閱此執行緒以了解兩者之間的區別。
Vue.createApp({
setup(props) {
let c = 123;
return { c }
},
methods: {
increment() {
console.log(this.c);
}
}
}).mount('#app')
<script src="https://unpkg.com/vue@next"></script>
<div id="app">
<button @click="increment">Increment</button>
</div>
使用Composition API實作它的正確方法:
Vue.createApp({
setup(props) {
const c = Vue.ref(123);
const increment = () => c.value ;
return {
c,
increment
}
},
}).mount('#app')
<script src="https://unpkg.com/vue@next"></script>
<div id="app">
<span>{{ c }}</span><br/><br/>
<button @click="increment">Increment</button>
</div>
uj5u.com熱心網友回復:
在 vue 3 中有兩種創建函式的方法。
- 在 setup 方法里面添加(更好)
這里這個。不存在,所以你可以寫一個簡單的函式,比如
const add = () => c.value
在這里,istance 還不存在,所以你可以不用它寫 c。記得匯出函式并用 ref 創建 c 變數,否則它不會更新
- 像你一樣使用方法物件
您可以使用這種方式,但您需要使用這種方式。param 因為該 istance 現在存在
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/368810.html
上一篇:vue對話框不會關閉/隱藏
