Vue系列专栏- - - VUE组件

简介: ​作者是名退役复学在校大学生,对jdk、spring、springboot、springcloud、mybatis等开源框架源码有一定研究,欢迎关注,和我一起交流。一、为什么需要组件?一个页面逻辑很多,放在一起不利于管理,不利于开发,将一个页面分割成小小的功能块vue组件化应用:任何应用都是一颗组件树1.创建组件2.创建组件语法糖写法省去Vue.extend()的调用,可以直接使用一个对象代替Vue.component("myCpn", {    template: `            <div>            <h1>广告</h1>

博主传送门:   叶秋学长

博主简介:  全栈领域新星创作者,新星计划第三季人工智能赛道TOP2;阿里云技术博主;退役复学在校大学生,全栈JAVA领域创作者,目光所至,皆为华夏

系列专栏跳转:

 Vue讲解

Spring系列

Spring Boot 系列

云原生系列(付费专栏)

今天叶秋学长带领大家继续学习vue讲解系列专栏中的Vue组件~~

一、为什么需要组件?

一个页面逻辑很多,放在一起不利于管理,不利于开发,将一个页面分割成小小的功能块

vue组件化

应用:任何应用都是一颗组件树

1.创建组件

    • const cpn = Vue.extend({}):创建一个组件构造器
    • template:表示我们组件的模板(其实就是你要显示的html)
    • Vue.component('组件名称',构造器cpn)
    • 使用:<组件名称></组件名称>

    image.gif编辑

    2.创建组件语法糖写法

    省去Vue.extend()的调用,可以直接使用一个对象代替

    Vue.component("myCpn", {

       template: `

               <div>

               <h1>广告</h1>

               <h2>广告内容</h2>

               </div>

               `,

    });

    3.全局组件和局部组件

      • 全局组件
        全局注册,实现所有vue都可以使用
      • 局部组件
        挂载在某一个vue实例下,其他组件不可以用

      4.父组件和子组件

      简单理解,在谁的div里面去使用的组件,就是这个对应的子组件

      <div id="app">

         <father-cpn></father-cpn>

      </div>

      <script>

         Vue.component("fatherCpn", {

         template: `

             <div>

                <h1>父组件</h1>

                <son></son>

             </div>

                 `,

         // 子组件(局部组件)

         components:{

             son:{

                 template:`  <h1>子组件</h1>`

             }

         }

      });

      new Vue({

         el: "#app",

         data: {},

      });

      5.模板抽离写法

        • 方法一

        <!-- 方法一 -->

        <script type="text-template" id="cpn1">

           <div>

           <h1>模板抽离方法一</h1>

           </div>

        </script>

        • 方法二(推荐)

        <!-- 方法二 -->

        <template id="cpn2">

        <div>

           <div class="box">

               <h1>模板抽离方法二</h1>

           </div>

        </div>

        </template>

        6.组件数据

        组件是一个单独功能模块分装

        这个模块拥有自己html,data,methons....

        data是一个函数

        data(){

           retrun {

               

           }

        }

        7.父子组件通信

        (1)父组件向子组件通信

        子组件使用props接收父组件传递的参数

        props:

          • 数组:数组值名称应该是对应的变量名
          • 对象(推荐):可以设置传入参数的类型,也可以设置默认

          (2)子组件向父组件通信

          写一个自定义方法

          this.$emit("方法-名称",传递参数)

          8.父子组件的访问方式

          9.插槽

          10.具名插槽

          11.作用域插槽

          相关文章
          |
          7天前
          |
          JavaScript 前端开发
          如何在 Vue 项目中配置 Tree Shaking?
          通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
          |
          8天前
          |
          存储 缓存 JavaScript
          在 Vue 中使用 computed 和 watch 时,性能问题探讨
          本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
          |
          8天前
          |
          存储 缓存 JavaScript
          如何在大型 Vue 应用中有效地管理计算属性和侦听器
          在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
          |
          8天前
          |
          存储 缓存 JavaScript
          Vue 中 computed 和 watch 的差异
          Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
          |
          7天前
          |
          JavaScript 前端开发 UED
          vue学习第二章
          欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
          |
          9天前
          |
          存储 JavaScript 开发者
          Vue 组件间通信的最佳实践
          本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
          |
          7天前
          |
          JavaScript 前端开发 开发者
          vue学习第一章
          欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
          |
          9天前
          |
          存储 JavaScript
          Vue 组件间如何通信
          Vue组件间通信是指在Vue应用中,不同组件之间传递数据和事件的方法。常用的方式有:props、自定义事件、$emit、$attrs、$refs、provide/inject、Vuex等。掌握这些方法可以实现父子组件、兄弟组件及跨级组件间的高效通信。
          |
          JavaScript 测试技术 容器
          Vue2+VueRouter2+webpack 构建项目
          1). 安装Node环境和npm包管理工具 检测版本 node -v npm -v 图1.png 2). 安装vue-cli(vue脚手架) npm install -g vue-cli --registry=https://registry.
          1050 0
          |
          14天前
          |
          JavaScript
          Vue基础知识总结 4:vue组件化开发
          Vue基础知识总结 4:vue组件化开发