vue3中的抽離封裝方法實(shí)現(xiàn)
vue3的抽離封裝方法:
vue3中的任何一個(gè)組合式api都可以單獨(dú)抽離出去在另一個(gè)文件,最后只需要回歸到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()這里的值獲取,容易寫錯(cuò)獲取不到;
點(diǎn)擊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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue?Echarts實(shí)現(xiàn)實(shí)時(shí)大屏動(dòng)態(tài)數(shù)據(jù)顯示
同大多數(shù)的前端框架一樣,先讀官網(wǎng)的使用方法。學(xué)會(huì)基本使用后,在實(shí)例中找到自己想要demo。拿過來改一改,一個(gè)echarts圖表就形成,畢竟人家做就是為了方便使用,這篇文章主要介紹了Vue?Echarts實(shí)現(xiàn)實(shí)時(shí)大屏動(dòng)態(tài)數(shù)據(jù)顯示2022-10-10
vue按住shift鍵多選方式(以element框架的table為例)
這篇文章主要介紹了vue按住shift鍵多選方式(以element框架的table為例),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
antdesign-vue結(jié)合sortablejs實(shí)現(xiàn)兩個(gè)table相互拖拽排序功能
這篇文章主要介紹了antdesign-vue結(jié)合sortablejs實(shí)現(xiàn)兩個(gè)table相互拖拽排序功能,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Vue——解決報(bào)錯(cuò) Computed property "****" was assigned to but it ha
這篇文章主要介紹了Vue——解決報(bào)錯(cuò) Computed property "****" was assigned to but it has no setter.的方法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12
vue-element-admin 菜單標(biāo)簽失效的解決方式
今天小編就為大家分享一篇vue-element-admin 菜單標(biāo)簽失效的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
el-table-column疊加el-popover使用示例小結(jié)
el-table-column有一列展示多個(gè)tag信息,實(shí)現(xiàn)點(diǎn)擊tag展示tag信息以及tag對(duì)應(yīng)的詳細(xì)信息,本文通過示例代碼介紹el-table-column疊加el-popover使用示例小結(jié),感興趣的朋友跟隨小編一起看看吧2024-04-04
詳解vue-property-decorator使用手冊(cè)
這篇文章主要介紹了vue-property-decorator使用手冊(cè),文中較詳細(xì)的給大家介紹了他們的用法,通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07

