vue3中的抽離封裝方法實現(xiàn)
vue3的抽離封裝方法:
vue3中的任何一個組合式api都可以單獨抽離出去在另一個文件,最后只需要回歸到setup()中即可。
1.新建公共utils/publicModule文件
// 公共的數(shù)據(jù)和方法
import { reactive } from "vue"
const publicModule = ()=>{
const res = reactive({
name:"馬騰騰",
age:50,
company:"百度"
})
return res
}
export default publicModule2.vue組件頁面中引入使用
注意const res = publicModule()這里的值獲取,容易寫錯獲取不到;
點擊handleClick事件修改引入的值

<template>
<div>
<div class="main">
<div>vue3抽離封裝:</div>
<div>name:{{res.name}}</div>
<div>age:{{res.age}}</div>
<div>company:{{res.company}}</div>
<el-button type="primary" block @click="handleClick">修改name</el-button>
</div>
</div>
</template>
<script>
import publicModule from "../../utils/publicModule"
export default {
setup() {
const res = publicModule();
console.log(res,"vue3抽離封裝");
function handleClick(){
res.name = "馬云"
}
return {
res,
handleClick
};
}
};
</script>
或者使用toRefs

<template>
<div>
<div class="main">
<div>vue3抽離封裝:</div>
<!-- toRefs -->
<div>name:{{name}}</div>
<div>age:{{age}}</div>
<div>company:{{company}}</div>
<el-button type="primary" block @click="handleClick">修改name</el-button>
</div>
</div>
</template>
<script>
import publicModule from "../../utils/publicModule"
import {toRefs} from "vue"
export default {
setup() {
const res = publicModule();
console.log(res,"vue3抽離封裝");
function handleClick(){
res.name = "馬云"
}
return {
...toRefs(res),
handleClick
};
}
};
</script>
到此這篇關(guān)于vue3的抽離封裝方法的文章就介紹到這了,更多相關(guān)vue3抽離封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue?Echarts實現(xiàn)實時大屏動態(tài)數(shù)據(jù)顯示
同大多數(shù)的前端框架一樣,先讀官網(wǎng)的使用方法。學(xué)會基本使用后,在實例中找到自己想要demo。拿過來改一改,一個echarts圖表就形成,畢竟人家做就是為了方便使用,這篇文章主要介紹了Vue?Echarts實現(xiàn)實時大屏動態(tài)數(shù)據(jù)顯示2022-10-10
vue按住shift鍵多選方式(以element框架的table為例)
這篇文章主要介紹了vue按住shift鍵多選方式(以element框架的table為例),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
antdesign-vue結(jié)合sortablejs實現(xiàn)兩個table相互拖拽排序功能
這篇文章主要介紹了antdesign-vue結(jié)合sortablejs實現(xiàn)兩個table相互拖拽排序功能,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Vue——解決報錯 Computed property "****" was assigned to but it ha
這篇文章主要介紹了Vue——解決報錯 Computed property "****" was assigned to but it has no setter.的方法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12
el-table-column疊加el-popover使用示例小結(jié)
el-table-column有一列展示多個tag信息,實現(xiàn)點擊tag展示tag信息以及tag對應(yīng)的詳細信息,本文通過示例代碼介紹el-table-column疊加el-popover使用示例小結(jié),感興趣的朋友跟隨小編一起看看吧2024-04-04

