我在 Vue 3 中做了一個專案,我使用了ref和computed. 然后我意識到我應該在 Vue 2 中做這個專案......現在我得到:“在 'vue' 中找不到匯出'計算'”在'vue'中找不到匯出'ref'......我知道我需要 Vue 3,這就是為什么我想問是否有任何替代方案:
這是我使用 ref 和計算的地方:
import { ref, computed } from "vue";
export const collapsed = ref(false);
export const toggleSidebar = () => (collapsed.value = !collapsed.value);
export const SIDEBAR_WIDTH = 180;
export const SIDEBAR_WIDTH_COLLAPSED = 38;
export const sideBarWidth = computed(
() => `${collapsed.value ? SIDEBAR_WIDTH_COLLAPSED : SIDEBAR_WIDTH}px`
);
還有這里:
import { computed } from 'vue'
import { useRoute } from 'vue-router'
import { collapsed } from './state'
export default {
props: {
to: { type: String, required: true },
icon: { type: String, required: true }
},
setup(props) {
const route = useRoute()
const isActive = computed(() => route.path === props.to)
return { isActive, collapsed }
}
}
</script>
<template>
<router-link :to="to" class="link" :class="{ active: isActive }" >
uj5u.com熱心網友回復:
computed也在 vue 2 中,但在 vue 2 中你需要使用 options api :
export default {
data() {
return {
collapsed: false
}
},
computed: {
toggleSidebar() {
return this.collapsed.value = !this.collapsed.value
},
sideBarWidth() {
return `${this.collapsed ? SIDEBAR_WIDTH_COLLAPSED : SIDEBAR_WIDTH}px`
}
}
}
export default {
props: {
to: { type: String, required: true },
icon: { type: String, required: true }
},
computed: {
isActive() {
return this.$route.path === this.to
}
}
}
uj5u.com熱心網友回復:
Vue 團隊為您的場景提供了一個獨立的插件:@vue/composition-api。
它允許在 Vue2 專案中使用 Composition API。
您所要做的就是安裝它并將匯入從 更改vue為@vue/composition-api.
不僅您不必重構從 Composition API 到 Options API 的所有內容,而且如果客戶端決定在未來某個時候切換到 Vue3,他們所需要做的就是將匯入更改回原樣,vue然后就可以使用了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/442956.html
標籤:javascript Vue.js Vuejs2 Vuejs3 引导程序
上一篇:如何被動地設定一個<html>類
