组件介绍

根组件

  • 通过new Vue创建的实例就是根组件(实例与组件一一对应,一个实例就是一个组件)

  • 根组渲染的内容默认就是挂在点里面所有的标签,如果写了template定制了模板,template的模板会替换掉挂在点里面的所有标签,并且template里面一定是一个大div包裹着所需要的其他标签。

<div id="app">
    <h1>{{ msg }}</h1>
</div>
<script type="text/javascript">
	// 通过new Vue创建的实例就是根组件(实例与组件一一对应,一个实例就是一个组件)
	// 每个组件组件均拥有模板,template但是真实场景下一般不写模板
	var app = new Vue({
		// 根组件的模板就是挂载点
		el: "#app",
		data : {
			msg: "根组件"
		},
		// 模板: 由""包裹的html代码块,出现在组件的内部,赋值给组件的$template变量
		// 显式书写模块,就会替换挂载点,但根组件必须拥有挂载点
		template: "<div>显式模板</div>"//虚拟dom会替换挂在点的真实dom
	})

</script>
  • 定制template的时候方多行标签
  template: `<h1 id="app" :style="{color: c}" @click="action">
{{ msg }}
</h1>
`,
  • 利用js完成两个根组件之间互相通讯,不推荐
let app = new Vue({
        el: '#app',
        data: {
            msg: 'app的msg',
            c: 'red'
        },   
});
let main = new Vue({
        el: '#main',
        data: {
            msg: 'main的msg'
        }
    });
/ 知识点:利用原生js完成两个组件的交互
    // 获取组件的数据
    // console.log(app.msg);
    // 修改组件的数据
    // app.msg = '12345';
    main.msg = app.msg;
posted @ 2019-09-04 11:44  张明岩  阅读(227)  评论(0编辑  收藏  举报