这篇文章给大家分享的是有关vue如何注册组件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
注册组件
全局组件
语法如下,组件模板需要使用一个根标签包裹起来。data必须是一个方法
Vue.component('component-name',{ template:'<div><h2>标题</h2><span>作者信息</span></div>', data(){ return{ message:'组件的属性' } }, methods:{ } })
局部组件
var com = { template:'<div><h2>标题</h2><span>作者信息</span></div>', data(){ return{ message:'组件的属性' } }, methods:{ } } new Vue({ components:{ 'compontent-name':com } })
组件通信
prop将父组件数据传给子组件
<div id='app'> <child :msg=message></child> </div>
<script> Vue.component('child', { props: ['msg'], template: '<p>{{msg}}</p>' }) new Vue({ el: '#app', data: { message: '父组件数据' } }) </script>
利用子组件的props选项,父组件可以向子组件传递数据,但是子组件不能求改父组件的数据。
非父子组件通信
需要使用一个空的Vue实例来管理
<div id='app'> <com-a></com-a> <com-b></com-b> </div>
var bus = new Vue(); var coma = { template: '<p @click="send">{{adata}}</p>', data(){ return { adata: 'a的数据' } }, methods:{ send(){ // 触发这一事件 bus.$emit('data-to-b', this.adata); } } }; var comb= { template: '<p>{{bdata}}</p>', data(){ return { bdata: 'b的数据' } }, mounted(){ // 监听事件,获取a组件的数据,进行相关操作 bus.$on('data-to-b', function (msg) { this.bdata = msg; }.bind(this)); } }; new Vue({ el:'#app', components: { 'com-a': coma, 'com-b': comb } })
感谢各位的阅读!关于“vue如何注册组件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。