我確實獲得了 Vue 的當前實體,并且確實從中獲得了 $vuetify 物件以及所有斷點以及其他屬性。
我的問題是breakpoints更改螢屏尺寸后屬性不會更新。它不是反應性的。
我已經嘗試使用計算它,實際上它并沒有改變:
import { getCurrentInstance } from 'vue'
const vuetify = computed(() => (getCurrentInstance()?.proxy as any).$vuetify);
我如何$vuetify.breakpoints根據螢屏大小使用和更改它 - 就像在 Vue 3 選項語法中一樣:this.$vuetify.breakpoints- 我正在使用腳本設定語法(Composition API)從 Vue 2 升級到 3。
謝謝你。
uj5u.com熱心網友回復:
您可以像這樣使 useVuetify 可組合:
// @composables/useVuetify
import { getCurrentInstance } from 'vue';
export const useVuetify = () => {
const vm = getCurrentInstance();
return vm.proxy?.$vuetify || undefined;
}
然后像這樣使用它:
// Your component
const vuetify = useVuetify();
const currentBreakpointName = computed(() => vuetify.breakpoint.name);
在腳本中,您需要使用它.value:currentBreakpointName.value
在模板中你不需要.value:v-if="currentBreakpointName === 'xl'"或:value="currentBreakpointName"或簡單{{ currentBreakpointName }}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/521541.html
標籤:javascriptVue.jsVuetify.jsVuejs3
