十日谈 :Vue 中的组件交互
欢迎阅读我的Vue学习日记
父子组件交互
首先记住props属性传递的是单向数据流
父组件定义
<body>
<div id="app">
<div>{{pmsg}}</div>
</div>
<script src="vue.js"></script>
<script>
var vm = new Vue({
el:'#app',
data:{
pmsg:'父级组件中的内容'
}
});
</script>
</body>
注册子组件,注意props的定义
这个例子是父组件向子组件传送数据
<body>
<div id="app">
<div>{{pmsg}}</div>
<menu-item title='来自父组件的值'></menu-item>
</div>
<script src="vue.js"></script>
<script>
Vue.component('menu-item',{
props:['title'],
data:function(){
return{
msg:'子组件本身的数据'
}
},
template:'<div>{{msg + "-------------" + title}}</div>'
});
var vm = new Vue({
el:'#app',
data:{
pmsg:'父级组件中的内容'
}
});
</script>
</body>
总结
1.组件内部通过props接受传递过来的值
Vue.component('menu-item',{
props:['title'],
template:'<div>{{title}}</div>'
});
2.父组件通过属性将值传递给子组件
<menu-item title='来自父组件的值'></menu-item>
<menu-item :title='title'></menu-item>
子组件向父组件传值
兄弟组件交互
兄弟组件交互依靠的是单独的事件中心管理组件间的通信
如图所示: