Vue非单文件组件component的基本使用

<!--
		Vue中使用组件的三大步骤:
				一、定义组件(创建组件)
				二、注册组件
				三、使用组件(写组件标签)
		一、如何定义
					使用Vue.extend(options)创建,其中options和new Vue(options)时传入的那个options几乎一样,但也有点区别;
					区别如下:
							1.el不要写,为什么? ——— 最终所有的组件都要经过一个vm的管理,由vm中的el决定服务哪个容器。
							2.data必须写成函数,为什么? ———— 避免组件被复用时,数据存在引用关系。
					备注:使用template可以配置组件结构。
		二、注册组件
						1.局部注册:new Vue的时候传入components选项
						2.全局注册:Vue.component('组件名',组件)
		三、编写组件:
						<school></school>

–>

<body>
    <div id="root">
      <h2>{{hello}}</h2>
      <hr />
      <!-- 3.使用组件 -->
      <school></school>
      <hr />
      <student></student>
    </div>

    <div id="root2">
      <!-- 全局注册过的组件 -->
      <school>/school>
      <hr />
      <!-- 未全局注册过的组件 ,不能使用-->
      <student></student>
    </div>
  </body>
  <script text="text/javascript">
    //1.创建学校组件
    //关键函数extend(),html结构包含在template中
    const school = Vue.extend({
      template: `
        <div>
            <h2>学校名称:{{schoolName}}</h2>
            <h2>学校名称:{{schoolAddress}}</h2>
        </div>
        `,
      //主键由vm管理,不需要写el,data写成函数的形式
      data() {
        return {
          schoolName: "家里蹲大学",
          schoolAddress: "深渊峡谷",
        };
      },
    });
    //1.创建学生组件
    const student = Vue.extend({
      template: `
        <div>
            <h2>学生姓名:{{studentName}}</h2>
            <h2>学生年龄:{{studentAge}}</h2>
        </div>
        `,
      data() {
        return {
          studentName: "张三",
          studentAge: 18,
        };
      },
    });

    //2.全局注册组件
    Vue.component("school", school);

    new Vue({
      el: "#root",
      data: {
        hello: "哔站欢迎你",
      },
      //2.局部注册组件
      //关键键名:components
      components: {
        school,
        student,
      },
    });
    new Vue({
      el: "#root2",
    });
  </script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值