1-12 vue父子组件

vue父子组件

  • 父子组件
    • 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B 。
    • 最简单的父子组件
<body>
    <div id="app">
        <parent-template></parent-template>
        <parent-template2></parent-template2>

        <my-child></my-child>
    </div>
</body>

<script src="js/vue.js"></script>
<script>

    //1.子组件构造器
    var Child = Vue.extend({
        template:'![](images/pic1.jpeg)'
    });

    //2.父组件构造器
    var Parent = Vue.extend({
        //注册子组件
       components:{
           'child-template':Child
       },
        template:'<div><child-template></child-template><p>照片很模糊</p></div>'
    });

    var Parent2 = Vue.extend({
        components:{
            'child-template':Child
        },
        template:'<div><p>下面的照片很清晰!</p><child-template></child-template></div>'
    });

    //3.创建组件
    Vue.component('parent-template', Parent);
    Vue.component('parent-template2', Parent2);

    //注册组件
    Vue.component('my-child', Child);
    Vue.component('parent-component', Child);

    //4.vue实例
    new Vue({
        el:'#app'
    });

</script>

  • 在父子组件组合使用中要注意以下一些问题:
> 没有实例化的子组件不能拿出来单独使用!

```
<div id="app">
   <parent-component></parent-component>
   <child-component></child-component>
</div>
```

> 在父标签内部嵌套子标签
<div id="app">
    <parent-component>
        <child-component></child-component>
    </parent-component>
 </div>

因为在父标签一旦生成真实的DOM,其内部的子标签就会被解析成为普通的HTML标签来执行,而且<child-component>不是标准的HTML标签,会被浏览器过滤掉。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,252评论 0 6
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,082评论 0 29
  • 此文基于官方文档,里面部分例子有改动,加上了一些自己的理解 什么是组件? 组件(Component)是 Vue.j...
    陆志均阅读 3,868评论 5 14
  • 下载安装搭建环境 可以选npm安装,或者简单下载一个开发版的vue.js文件 浏览器打开加载有vue的文档时,控制...
    冥冥2017阅读 6,098评论 0 42
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,109评论 4 129