<div id="app">
<my-item :value="value">//传入数据,注意引号里面的为父组件的数据,
</my-item>
</div>
Vue.component("my-item",{
template:"<div>这是组件,{{value}}</div>",
props:["value"],//声明需要的数据,HTML 特性是不区分大小写的,所以此处如果为驼峰命名法,如:myMessage,则在模板中需要转化为用断线隔开的形式:my-Message
data:function(){
return {
}
},
methods:{
}
});
//创建vue实例
const vm=new Vue({
el:"#app",
data:{
value:"这是父组件的数据",
},
methods:{
},
});
<div id="app">
{{number}}
<!-- 在用到子组件的地方监听,监听当前实例上的自定义事件 ,接受参数,并执行回调-->
<my-item v-on:cli="totlcli">
</my-item>
</div>
Vue.component("my-item",{
template:"<button v-on:click='add'>{{count}}</button>",
data:function(){
return {
count : 0,
}
},
methods:{
add:function(){
this.count+=1;
this.$emit("cli",this.count);//触发当前实例上的事件。多个参数可以数组的形式传递
}
}
});
//创建vue实例
const vm=new Vue({
el:"#app",
data:{
number:""
},
methods:{
totlcli:function(num){//这个回调在父组件监听到事件时,执行的,其参数为触发事件时传递的。
return this.number=num;
},
},
});
<div id="app">
<my-item>
<p slot="header">这是头部</p>
<p>这是多余的内容,</p>
<p slot="footer">这是尾部</p>
</my-item>
</div>
Vue.component("my-item",{
template:"<div>"+
"<header><slot name='header'></slot></header>"+
"<main><slot>备用插槽,当没有备用内容会显示出来</slot></main>"+
"<footer><slot name='footer'></slot></footer>"+
"<div>",
props:{
},
data:function(){
return {
}
}
});
const vm=new Vue({
el:"#app",
data:{
},
methods:{
},
});
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有