vue彈窗嵌入其它vue頁(yè)面的操作代碼
說(shuō)明
【1】實(shí)現(xiàn)方式,將其他頁(yè)面作為組件傳入
【2】在父頁(yè)面,將該組件引入到彈框內(nèi),并通過(guò)動(dòng)態(tài)渲染進(jìn)行切換

子組件,將要引入到彈框內(nèi)的頁(yè)面
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
</el-form>
<el-table v-loading="loading" :data="recordList" @selection-change="handleSelectionChange">
</el-table>
<pagination/>
</div>
</template>
<script>
export default {
name: "Record",
props: ['userId'],
data() {
return {
// 遮罩層
loading: true,
title: "",
// 查詢參數(shù)
queryParams: {
userId: null,
userName: null
}
};
},
created() {
this.queryParams.userId = this.userId;
this.getList();
},
methods: {
getList() {
this.loading = true;
// 執(zhí)行請(qǐng)求后臺(tái)數(shù)據(jù)
}
}
};
</script>
【1】構(gòu)建子頁(yè)面,上面是一個(gè)普通的頁(yè)面,其中頁(yè)面使用ElementUI作為布局框架,使用到了el-table表格和pagination分頁(yè)組件
【2】組件創(chuàng)建即created的時(shí)候,請(qǐng)求后臺(tái)加載數(shù)據(jù)。
【3】創(chuàng)建屬性變量props: [‘userId’],該參數(shù)用于父子組件傳值。
父頁(yè)面
<template>
<div class="app-container">
<el-dialog :title="title" :visible.sync="userDialogVisible" v-if="userDialogVisible" width="800px" append-to-body>
<!-- 傳遞給子組件的值 -->
<UserInfo :userId="userId"></UserInfo>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel()">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// 導(dǎo)入需要彈框展示頁(yè)面的組件
import UserInfo from '../index/user'
export default {
name: "父頁(yè)面",
// 注冊(cè)組件
components: {UserInfo},
data() {
return {
// 需要和彈框頁(yè)面交互的參數(shù)
userId: null,
// 控制彈框是否展示標(biāo)識(shí)
userDialogVisible: false
};
},
created() {
this.getList();
},
methods: {
/** 展示用戶列表頁(yè)面 **/
showUserInfoPage(row) {
// 設(shè)置
this.userDialogVisible = true;
this.userId = row.id;
},
/** 關(guān)閉用戶列表頁(yè)面 **/
cancel() {
this.userDialogVisible = false;
},
}
};
</script>
父頁(yè)面通過(guò)彈框并將子頁(yè)面通過(guò)引入組件的方式包裹在彈框內(nèi),通過(guò):visible.sync=“userDialogVisible” v-if="userDialogVisible"進(jìn)行彈框的展示以及組件的創(chuàng)建和銷毀,并且通過(guò)父子組件傳參的方式切換數(shù)據(jù)。注意這里需要使用v-if以便子組件可以在create()中動(dòng)態(tài)展示數(shù)據(jù)。
思考
對(duì)于類似需要根據(jù)特定參數(shù)動(dòng)態(tài)展示其他組件數(shù)據(jù)的時(shí)候,我們可以通過(guò)在可以給子組件傳遞其他參數(shù),在子組件watch中監(jiān)聽(tīng)。通過(guò)子組件監(jiān)聽(tīng)參數(shù)變量變化從而動(dòng)態(tài)展切換數(shù)據(jù)。
注意子組件渲染只會(huì)執(zhí)行一次created生命周期,如果非要將更改內(nèi)容寫(xiě)在created中,就要配合 v-if 使用,將子組件用 v-if 包裹起來(lái),每次都重新加載子組件。
組件 v-if 和 v-show 切換時(shí)生命周期鉤子的執(zhí)行
v-if 初始渲染 初始值為 false 組件不會(huì)渲染,生命周期鉤子不會(huì)執(zhí)行,v-if 的渲染是惰性的。 初始值為 true 時(shí),組件會(huì)進(jìn)行渲染,并依次執(zhí)行 beforeCreate,created,beforeMount,mounted 鉤子。 切換 false => true 依次執(zhí)行 beforeCreate,created,beforeMount,mounted 鉤子。 true => false 依次執(zhí)行 beforeDestroy,destroyed 鉤子。 v-show 渲染 無(wú)論初始狀態(tài),組件都會(huì)渲染,依次執(zhí)行 beforeCreate,created,beforeMount,mounted 鉤子,v-show 的渲染是非惰性的。 切換 對(duì)生命周期鉤子無(wú)影響,切換時(shí)組件始終保持在 mounted 鉤子```
到此這篇關(guān)于vue彈窗如何嵌入其它vue頁(yè)面的文章就介紹到這了,更多相關(guān)vue彈窗嵌入其它vue頁(yè)面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用vue與jquery實(shí)時(shí)監(jiān)聽(tīng)用戶輸入狀態(tài)的操作代碼
本文是腳本之家小編給大家?guī)?lái)的使用vue與jquery實(shí)時(shí)監(jiān)聽(tīng)用戶輸入狀態(tài),實(shí)現(xiàn)效果是input未輸入值時(shí),按鈕禁用狀態(tài),具體操作代碼大家參考下本文吧2017-09-09
vue定時(shí)器清除不掉,導(dǎo)致功能頻繁執(zhí)行問(wèn)題
這篇文章主要介紹了vue定時(shí)器清除不掉,導(dǎo)致功能頻繁執(zhí)行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
使用el-table做成樹(shù)形結(jié)構(gòu)并解決數(shù)據(jù)驅(qū)動(dòng)視圖問(wèn)題
這篇文章主要介紹了使用el-table做成樹(shù)形結(jié)構(gòu)并解決數(shù)據(jù)驅(qū)動(dòng)視圖問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
vite+vue3中require?is?not?defined問(wèn)題及解決
這篇文章主要介紹了vite+vue3中require?is?not?defined問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
vue.js模版插值的原理與實(shí)現(xiàn)方法簡(jiǎn)析
這篇文章主要介紹了vue.js模版插值的原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式簡(jiǎn)單分析了vue.js模板插值的基本功能、原理、實(shí)現(xiàn)方法與注意事項(xiàng),需要的朋友可以參考下2023-04-04
vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁(yè)面
這篇文章主要介紹了vue實(shí)現(xiàn)在進(jìn)行增刪改操作后刷新頁(yè)面,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
詳解vue-cli+element-ui樹(shù)形表格(多級(jí)表格折騰小計(jì))
這篇文章主要介紹了vue-cli + element-ui 樹(shù)形表格(多級(jí)表格折騰小計(jì)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04

