5 changed files with 259 additions and 7 deletions
@ -0,0 +1,180 @@ |
|||||
|
<template> |
||||
|
<div class="main-content12"> |
||||
|
<!-- 参数 在子组件页面一样用 props接收 、ref绑定的组件示例 --> |
||||
|
<!-- 默认页面展示 的初始组件 Franchise--> |
||||
|
<component :is="componentsName ? componentsName : 'Franchise'" ref="dynamicComponent" |
||||
|
:someProp="payinfo" @customEvent="handleComponentEvent"/> |
||||
|
<GuipButton @click="submitSave" size="superBig">->点这里测试、获取参数、调用方法</GuipButton> |
||||
|
</div> |
||||
|
|
||||
|
</template> |
||||
|
<script> |
||||
|
import store from '@/store'; |
||||
|
import { mapState } from 'vuex'; |
||||
|
import GuipSwitch from '@/components/GuipSwitch.vue'; |
||||
|
import GuipButton from '@/components/GuipButton.vue'; |
||||
|
import HoverButton from '@/components/HoverButton.vue' |
||||
|
import Franchise from '@/views/Franchise.vue' |
||||
|
import Franchise1 from '@/views/Franchise.vue' |
||||
|
import Register from '@/views/Register.vue' |
||||
|
export default { |
||||
|
// 收款方式设置 |
||||
|
name: '', |
||||
|
props: [''], |
||||
|
components: { |
||||
|
GuipSwitch, |
||||
|
GuipButton, |
||||
|
HoverButton, |
||||
|
Franchise, |
||||
|
Franchise1, |
||||
|
Register, |
||||
|
|
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
// AUTH |
||||
|
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NTAwNTM3MjQsIm5iZiI6MTc1MDA1MzcyNCwiZXhwIjoxNzUyNjQ1NzI0LCJ1c2VyIjoic3VidXNlciIsImxvZ2luX3R5cGUiOjAsImFpZCI6IjEifQ.xyIqBLelB-k6jCifgRevBJTyg_Qrm6m1e4OcHhOpepU', |
||||
|
payinfo: [ |
||||
|
{ |
||||
|
type: 'a', |
||||
|
name: '传递的参数' |
||||
|
} |
||||
|
], |
||||
|
payType: -1, |
||||
|
payStatus: -1, |
||||
|
paySvg: '', |
||||
|
confirmText: '保存', |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
...mapState(['pageTitle', 'componentsName']), // 从Vuex映射showSidebar状态到组件的计算属性中 |
||||
|
}, |
||||
|
created() { |
||||
|
store.commit('SET_CUSTOMIZE', true); |
||||
|
store.commit('SET_SLIDER_MENU', 'demoPageData'); |
||||
|
}, |
||||
|
mounted() { |
||||
|
store.commit('SET_PAGETITLE', '支付授权'); |
||||
|
}, |
||||
|
methods: { |
||||
|
handleComponentEvent(payload) { |
||||
|
console.log('收到子组件事件:', payload); |
||||
|
}, |
||||
|
submitSave() { |
||||
|
// 逻辑示例 |
||||
|
// 获取动态组件实例 |
||||
|
const componentInstance = this.$refs.dynamicComponent; |
||||
|
console.log('当前组件实例:', componentInstance); |
||||
|
|
||||
|
// 调用组件方法(如果存在) |
||||
|
if (componentInstance) { |
||||
|
console.log('获取到啦'); |
||||
|
// 调用方法或者获取参数 |
||||
|
componentInstance.showDomainModal && componentInstance.showDomainModal() |
||||
|
} |
||||
|
}, |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
a { |
||||
|
text-decoration: none; |
||||
|
color: #006AFF; |
||||
|
} |
||||
|
|
||||
|
.gray { |
||||
|
color: #626573 !important; |
||||
|
} |
||||
|
|
||||
|
.mt-18 { |
||||
|
margin-top: 18px; |
||||
|
} |
||||
|
|
||||
|
.ml-23 { |
||||
|
margin-left: 23px; |
||||
|
} |
||||
|
|
||||
|
.justify-content-space-between { |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
|
||||
|
.beforeNotice { |
||||
|
|
||||
|
h4 { |
||||
|
margin: 0; |
||||
|
gap: 8px; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
|
||||
|
margin-bottom: 18px; |
||||
|
text-align: left; |
||||
|
box-sizing: border-box; |
||||
|
padding: 20px 14px; |
||||
|
border-radius: 4px; |
||||
|
/* middle/middle_grey_0 */ |
||||
|
background: #FAFAFA; |
||||
|
|
||||
|
div { |
||||
|
margin-top: 2px; |
||||
|
padding-left: 23px; |
||||
|
|
||||
|
p { |
||||
|
color: #8A9099; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
p { |
||||
|
color: #1E2226; |
||||
|
|
||||
|
i { |
||||
|
font-style: normal; |
||||
|
} |
||||
|
|
||||
|
&:last-child { |
||||
|
display: flex; |
||||
|
align-items: stretch; |
||||
|
|
||||
|
b { |
||||
|
font-weight: normal; |
||||
|
color: #8A9099; |
||||
|
display: inline-flex; |
||||
|
|
||||
|
img { |
||||
|
margin-left: 4px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
a { |
||||
|
text-decoration: none; |
||||
|
color: #006AFF; |
||||
|
margin-right: 10px; |
||||
|
|
||||
|
img { |
||||
|
margin-left: 5px; |
||||
|
margin-right: 5px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.siteMessage { |
||||
|
border-radius: 4px; |
||||
|
transition: all .5s; |
||||
|
border: 1px solid transparent; |
||||
|
} |
||||
|
|
||||
|
.siteMessage h3 { |
||||
|
font-size: 14px; |
||||
|
font-weight: bold; |
||||
|
line-height: normal; |
||||
|
letter-spacing: 0.08em; |
||||
|
color: #1E2226; |
||||
|
} |
||||
|
|
||||
|
.site-setting-wrap { |
||||
|
width: 100%; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue