Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
陆康永
VueJS_01
提交
3c23dcbd
V
VueJS_01
项目概览
陆康永
/
VueJS_01
与 Fork 源项目一致
Fork自
inscode / VueJS
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
VueJS_01
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
3c23dcbd
编写于
8月 30, 2024
作者:
U
u014071104
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Auto Commit
上级
79c5bd79
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
139 addition
and
42 deletion
+139
-42
src/App.vue
src/App.vue
+29
-42
src/ChildOne.vue
src/ChildOne.vue
+26
-0
src/ChildTwo.vue
src/ChildTwo.vue
+24
-0
src/ParentOne.vue
src/ParentOne.vue
+30
-0
src/ParentTwo.vue
src/ParentTwo.vue
+30
-0
未找到文件。
src/App.vue
浏览文件 @
3c23dcbd
<
script
setup
>
import
HelloWorld
from
'
./components/HelloWorld.vue
'
import
TheWelcome
from
'
./components/TheWelcome.vue
'
import
ParentOne
from
'
./ParentOne.vue
'
;
import
ParentTwo
from
'
./ParentTwo.vue
'
;
import
ChildOne
from
'
./ChildOne.vue
'
;
import
ChildTwo
from
'
./ChildTwo.vue
'
;
import
{
shallowRef
}
from
"
vue
"
const
parentCom
=
shallowRef
(
ParentOne
)
const
ChildCom
=
shallowRef
(
ChildOne
)
var
parent
=
1
;
var
child
=
1
;
const
changeParent
=
()
=>
{
parent
=
parent
==
1
?
2
:
1
parentCom
.
value
=
parent
==
1
?
ParentOne
:
ParentTwo
;
}
const
changeChild
=
()
=>
{
child
=
child
==
1
?
2
:
1
ChildCom
.
value
=
child
==
1
?
ChildOne
:
ChildTwo
;
}
</
script
>
<
template
>
<header>
<img
alt=
"Vue logo"
class=
"logo"
src=
"./assets/logo.svg"
width=
"125"
height=
"125"
/>
<div
class=
"wrapper"
>
<HelloWorld
msg=
"You did it!"
/>
</div>
</header>
<main>
<TheWelcome
/>
</main>
<button
@
click=
"changeParent"
>
改父组件
</button>
<button
@
click=
"changeChild"
>
改子组件
</button>
<Suspense>
<component
:is=
"parentCom"
>
<Suspense>
<keep-alive>
<component
:is=
"ChildCom"
/>
</keep-alive>
</Suspense>
</component>
</Suspense>
</
template
>
<
style
scoped
>
header
{
line-height
:
1.5
;
}
.logo
{
display
:
block
;
margin
:
0
auto
2rem
;
}
@media
(
min-width
:
1024px
)
{
header
{
display
:
flex
;
place-items
:
center
;
padding-right
:
calc
(
var
(
--section-gap
)
/
2
);
}
.logo
{
margin
:
0
2rem
0
0
;
}
header
.wrapper
{
display
:
flex
;
place-items
:
flex-start
;
flex-wrap
:
wrap
;
}
}
</
style
>
src/ChildOne.vue
0 → 100644
浏览文件 @
3c23dcbd
<
template
>
<div
class=
"about"
>
<h1>
子组件一
{{
count
}}
</h1>
<button
@
click=
"count++"
>
++
</button>
</div>
</
template
>
<
script
setup
>
import
{
onBeforeUnmount
,
onMounted
,
ref
}
from
'
vue
'
;
const
count
=
ref
(
0
)
onMounted
(()
=>
{
console
.
log
(
"
子组件一挂载
"
)
})
onBeforeUnmount
(()
=>
{
console
.
error
(
"
子组件一卸载
"
)
})
</
script
>
<
style
scoped
>
.about
{
width
:
200px
;
background-color
:
pink
;
}
</
style
>
\ No newline at end of file
src/ChildTwo.vue
0 → 100644
浏览文件 @
3c23dcbd
<
template
>
<div
class=
"about"
>
<h1>
子组件two
</h1>
</div>
</
template
>
<
script
setup
>
import
{
onBeforeUnmount
,
onMounted
}
from
'
vue
'
;
onMounted
(()
=>
{
console
.
log
(
"
子组件二挂载
"
)
})
onBeforeUnmount
(()
=>
{
console
.
error
(
"
子组件二卸载
"
)
})
</
script
>
<
style
scoped
>
.about
{
width
:
200px
;
background-color
:
palegoldenrod
;
}
</
style
>
\ No newline at end of file
src/ParentOne.vue
0 → 100644
浏览文件 @
3c23dcbd
<
template
>
<div
class=
"about"
>
<h1>
父组件一
</h1>
<slot/>
</div>
</
template
>
<
script
setup
>
import
{
onBeforeUnmount
,
onMounted
}
from
'
vue
'
;
onMounted
(()
=>
{
console
.
log
(
"
父组件一挂载
"
)
})
onBeforeUnmount
(()
=>
{
console
.
error
(
"
父组件一卸载
"
)
})
</
script
>
<
style
scoped
>
.about
{
width
:
300px
;
border
:
1px
solid
blue
;
background-color
:
pink
;
}
h1
{
width
:
100%
;
background-color
:
pink
;
}
</
style
>
\ No newline at end of file
src/ParentTwo.vue
0 → 100644
浏览文件 @
3c23dcbd
<
template
>
<div
class=
"about"
>
<h1>
父组件二
</h1>
<slot/>
</div>
</
template
>
<
script
setup
>
import
{
onBeforeUnmount
,
onMounted
}
from
'
vue
'
;
onMounted
(()
=>
{
console
.
log
(
"
父组件二挂载
"
)
})
onBeforeUnmount
(()
=>
{
console
.
error
(
"
父组件二卸载
"
)
})
</
script
>
<
style
scoped
>
.about
{
width
:
300px
;
border
:
1px
solid
red
;
background-color
:
palegoldenrod
;
}
h1
{
width
:
100%
;
background-color
:
palegoldenrod
;
}
</
style
>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录