十六、父组件和子组件

在前面我们看到了组件树:

  • 组件和组件之间存在层级关系
  • 而其中一种非常重要的关系就是父子组件的关系

我们来看通过代码如何组成的这种层级关系:

父子组件错误用法:以子标签的形式在Vue实例中使用

  • 因为当子组件注册到父组件的components时,Vue会编译好父组件的模块
  • 该模板的内容已经决定了父组件将要演染的HTML(相当于父组件中已经有了子组件中的内容了)
  • <child-cpn></child-cpn>是只能在父组件中被识别的。
  • 类似这种用法,<child-cpn></child-cpn>是会被浏览器忽略的。 
    <div id="app">
      <cpn2></cpn2>
    </div>
    <script>
      //1.创建第一个组件构造器(子组件)
      const cpnC1 = Vue.extend({
        template:`
          <div>
            <h2>我是标题1</h2>
            <p>我是内容,哈哈哈</p>
          </div>`
      });
      //2.创建第二个组件构造器(父组件)
      const cpnC2 = Vue.extend({
        template:`
          <div>
            <h2>我是标题2</h2>
            <p>我是内容,呵呵呵</p>
            <cpn1></cpn1>
          </div>`,
        components: {
          cpn1: cpnC1
        }
      });

      //root组件
      const app = new Vue({
        el: "#app",
        data: {
        },
        components: {
          cpn2 : cpnC2
        }
      });
    </script>

  

posted @ 2022-04-07 16:35  搬砖工具人  阅读(62)  评论(0编辑  收藏  举报