40.VUE学习之--组件之间的数据传参父组件向子组件里传参,props的使用实例操作
父组件向子组件里传参,props的使用实例
例子一
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>vue</title>
<link rel="stylesheet" href="">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- <script type="text/javascript" src="../js/vue.js"></script> -->
</head>
<body>
<div id="hdcms">
<!--hd="abc"传递字符串 :show-title:加上冒号传递的就是一个变量了(注意驼峰命名和-号命名的写法) -->
<hd-news hd="abc" css="testcss" :list="news" :show-title="showTitle"></hd-news> <!--引入模板 和new Vue()里的components里注册时的名字 hdNews 要一致-->
</div>
<script type="text/x-template" id="hdNewstemplate">
<div>
<span>{{hd}}</span>
<span>{{css}}</span>
<li v-for="(v,k) in list">
{{v.title}}
<button v-if="v.show" @click="list.splice(k,1)">删除</button>
<input v-model="v.show" type="checkbox">显示删除按钮
<button v-if="!v.show" @click="v.show?v.show=false:v.show=true">显示删除按钮</button>
</li>
{{showTitle}}
</div>
</script>
<script>
var hdNews={
//绑定id="hdNews" 的 x-template模板
template:'#hdNewstemplate',
data(){
return {}
},
//用于接收父组件里传过来的数据,注意驼峰命名和-号命名的写法
props:['hd','css','list','showTitle'],
methods:{}
};
new Vue({
el:'#hdcms',
//绑定组件hdNews hdNews:hdNews简写成hdNews
components:{hdNews},
data:{
news:[
{id:0,title:'tpshop',num:1,show:false},
{id:1,title:'hdcms',num:1,show:false}
],
showTitle:'hello vue.',
},
});
</script>
</body>
</html>
效果:
例子二:
<!DOCTYPE html>
<html lang=”zh-cn”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<meta http-equiv=”X-UA-Compatible” content=”ie=edge”>
<title>Document</title>
</head>
<script type=”x-template” id=”father”>
<div>
<h2 style=”color:blue”>{{hello}}</h2>
{{apptoshuaiqm}}
<childer :shuai-qmtochilder=”shuaiQmGiveMe” />
</div>
</script>
<script type=”x-template” id=”childer”>
<div>
<h2 style=”color:blue”>{{hello}}</h2>
{{shuaiQmtochilder}}
</div>
</script>
<body>
<div id=”app”>
<shuai-qm apptoshuaiqm=”我是app传过来的值”></shuai-qm>
</div>
<script src=”https://cdn.jsdelivr.net/npm/vue/dist/vue.js”></script>
<script>
var childer = {
props: ['shuaiQmtochilder'],
data() {
return {
hello: 'hello i’m dawangraoming',
}
},
template: '#childer'
}
var father = {
props: ['apptoshuaiqm'],// 这里大家一定要注意,请完全使用小写传参
data() {
return {
hello: 'hello world',
shuaiQmGiveMe: '我是从shuaiQm传过来的值'
}
},
template: '#father',
components: {
'childer': childer
}
}
var app = new Vue({
el: '#app',
data: {
message: 'Hello World',
isTrue: true,
},
components: {
'shuaiQm': father,
}
})
</script>
</body>
</html>
[Haima的博客]
http://www.cnblogs.com/haima/
分类:
VUE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构