Vue2学习(组件的使用)

Vue中使用组件的三个步骤:

一、定义组件(或者叫创建组件)

使用Vue.extend(options)创建,其中options和new Vue(options)时传入的那个options几乎一样,但也有点区别; 区别如下:

1.el不要写,为什么? ——— 最终所有的组件都要经过一个vm的管理,由vm中的el决定服务哪个容器。 2.data必须写成函数,为什么? ———— 避免组件被复用时,数据存在引用关系。

备注:使用template可以配置组件结构。

二、注册组件

1.局部注册:靠new Vue的时候传入components选项;

2.全局注册:靠Vue.component('组件名',组件);

 三、使用组件(写组件标签)

学习示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据绑定</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <!-- 准备好一个容器 -->
    <div id="root">
        <h2>{
  {msg}}</h2>
        <hr>
        <!-- 第三步:编写组件标签 -->
        <school></school>
        <hr>
        <!-- 第三步:编写组件标签 -->
        <student></student>
    </div>
</body>
<script type="text/javascript">
    Vue.config.productionTip = false
    
    // 第一步:创建学校组件
    const school = Vue.extend({
        template:`
            <div>
                <h2>学校名称:{
  {schoolName}}</h2>
                <h2>学校地址:{
  {address}}</h2>
            </div>
        `,
        data(){
            return {
                schoolName:"太平洋",
                address:"北京"
            }
        }
    })

    // 第一步:创建学生组件
    const student = Vue.extend({
        template:`
        <div>
            <h2>学生姓名:{
  {studentName}}</h2>
            <h2>学生年龄:{
  {age}}</h2>
        </div>
        `,
        data(){
            return {
                studentName:"法外狂徒",
                age:41
            }
        }
    })

    new Vue({
        el:"#root",
        data:{
            msg:"你好啊!"
        },
        components:{
            // 第二步:注册组件(局部注册)
            school:school,
            student:student,
        }

    })
   

</script>
</html>

                                  

相关推荐

  1. Vue2学习组件使用

    2023-12-09 07:04:07       60 阅读
  2. Vue技巧】Vue2Vue3组件使用v-model实现原理

    2023-12-09 07:04:07       58 阅读
  3. vue简单使用五(组件使用

    2023-12-09 07:04:07       33 阅读
  4. Vue2组件通信方式

    2023-12-09 07:04:07       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-09 07:04:07       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-09 07:04:07       97 阅读
  3. 在Django里面运行非项目文件

    2023-12-09 07:04:07       78 阅读
  4. Python语言-面向对象

    2023-12-09 07:04:07       88 阅读

热门阅读

  1. 有关CSS选择器

    2023-12-09 07:04:07       55 阅读
  2. C++_对C数据类型的扩展

    2023-12-09 07:04:07       50 阅读
  3. ChatGPT的常识

    2023-12-09 07:04:07       61 阅读
  4. 蓝桥杯ACwing习题

    2023-12-09 07:04:07       52 阅读
  5. 美国Linux服务器的iptables防火墙介绍

    2023-12-09 07:04:07       59 阅读
  6. iClient3D 加载天地图服务

    2023-12-09 07:04:07       50 阅读
  7. MySQL七 | 存储引擎

    2023-12-09 07:04:07       63 阅读
  8. Visual Studio 2015 中 FFmpeg 开发环境的搭建

    2023-12-09 07:04:07       58 阅读
  9. 排序算法——冒泡排序

    2023-12-09 07:04:07       61 阅读
  10. P5743 【深基7.习8】猴子吃桃

    2023-12-09 07:04:07       53 阅读
  11. prometheus服务发现之consul

    2023-12-09 07:04:07       71 阅读