黄子涵

传递静态或动态 Prop

像这样,你已经知道了可以像这样给 prop 传入一个静态的值:

<blog-post title="My journey with Vue"></blog-post>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>传递静态或动态 Prop</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="hzh">
<hzh-component title="黄子涵"></hzh-component>
</div>
<script>
Vue.component('hzh-component', {
props: ['title'],
template: '<h3>{{title}}</h3>'
})
new Vue({
el: '#hzh',
})
</script>
</body>

image

你也知道 prop 可以通过 v-bind 动态赋值,例如:

<!-- 动态赋予一个变量的值 -->
<blog-post v-bind:title="post.title"></blog-post>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>传递静态或动态 Prop</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="hzh">
<hzh-component v-for="post in posts" v-bind:key="post.id" v-bind:title="post.title"></hzh-component>
</div>
<script>
Vue.component('hzh-component', {
props: ['title'],
template: '<h3>{{title}}</h3>'
})
new Vue({
el: '#hzh',
data: {
posts: [
{ id: 1, title: '黄子涵' }
]
}
})
</script>
</body>

image

<!-- 动态赋予一个复杂表达式的值 -->
<blog-post
v-bind:title="post.title + ' by ' + post.author.name"
></blog-post>
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>传递静态或动态 Prop</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="hzh">
<hzh-component v-for="post in posts" v-bind:key="post.id" v-bind:title="post.title + '由' + post.author.name + '创作'"></hzh-component>
</div>
<script>
Vue.component('hzh-component', {
props: ['title'],
template: '<h3>{{title}}</h3>'
})
new Vue({
el: '#hzh',
data: {
posts: [
{ id: 1, title: '《黄子涵是帅哥!》', author: {name: '黄子涵'}}
]
}
})
</script>
</body>

image

在上述两个示例中,我们传入的值都是字符串类型的,但实际上任何 类型的值都可以传给一个 prop。

传入一个数字
传入一个布尔值
传入一个数组
传入一个对象
传入一个对象的所有 property
posted @   黄子涵  阅读(132)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示