3-09兄弟之间传值练习

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script src="../vue.min.js" type="text/javascript" charset="utf-8"></script>

</head>

<body>

<div id="app">

<edit></edit>

<list></list>

</div>

<template id="edit">

<div>

<input type="text" v-model="str"/>

<button @click="add()">添加</button>

</div>

</template>

<template id="list">

<ul>

<li v-for="(item,index) in arr">{{item}}

<button @click="remove(index)">删除</button>

</li>

</ul>

</template>

</body>

<script type="text/javascript">

//定义一个中间vue实例,作为中间层传递数据

var vmcenter = new Vue({});

//编辑组件

var edit = {

template:"#edit",

data:function(){

return{

str:''

 

};

},

methods:{

add:function(){

//通过中间层发送数据 $emit("事件名",数据)

vmcenter.$emit("zengjia",this.str)

console.log(this.str);

}

}

};

//列表组件

var list = {

template:"#list",

//组件内部data写法

data:function(){

return{

arr:["斌斌","航航"]

}

},

//删除

methods:{

remove:function(i){

this.arr.splice(i,1);

}

},

created:function(){

//监听 收到

var _this =this;

//监听组件1发的事件

vmcenter.$on("zengjia",function(data){

_this.arr.push(data);

})

}

}

 

new Vue({

el:"#app",

components:{

edit,

list

}

})

 

</script>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值