Vue 如何简单快速组件化

这篇具有很好参考价值的文章主要介绍了Vue 如何简单快速组件化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

为了简化拆分复杂的代码逻辑,和实现代码的组件化,封闭化。我们需要使用组件化的方法。我这里只讲解我感觉最优的组件化方法。

相关文章

vue组件化总结

vue 单文件组件

子组件修改Props报错

vue 父组件调用子组件方法ref

vue中组件的props属性(详)

组件化实战

使用Vue-cil搭建一个简单的Vue页面,如何搭建不展开

如何引入组件

Vue 如何简单快速组件化,vue.js,前端,javascript

Vue的路由管理不展开说明

子组件

<template>
    <div>
        <h1>我是子组件</h1>
    </div>
</template>

<script>
export default {
    data() {
        return {};
    },
    methods: {
    },
};
</script>

<style lang="scss"></style>


父组件代码

<template>
  <div>
    <h1>我是父组件</h1>
    <TestComponent />
  </div>
</template>

<script>
//引用子组件
import TestComponent from '@/components/TestComponent.vue';

export default {
  data() {
    return {
    };
  },
  components:{
    TestComponent
  },
  methods: {
  },
};
</script>

<style lang="scss"></style>


实现效果

Vue 如何简单快速组件化,vue.js,前端,javascript

什么是父组件,什么是子组件

父组件 子组件
包含关系 外层 里层
调用关系 使用 被调用
传递关系 父能传子,控制子组件 子不能直接传父,单向流通

如何实现给子组件赋值

使用Props属性

子组件修改Props报错

vue中组件的props属性(详)

子组件添加

export default {
	//将属性暴露给父组件,这里暴露了name属性
    props:['name'],
    data() {
        return {}
    },
    methods: {
    },
};

父组件赋值

    <!-- 在标签中赋值 -->
    <TestComponent name="我设置子组件属性" />

效果
Vue 如何简单快速组件化,vue.js,前端,javascript

动态赋值可以使用v-bind方法

完整代码

TestComponent

<template>
    <div>
        <h1>我是子组件</h1>
        <h2>我是子组件name属性:{{ name }}</h2>
        
    </div>
</template>

<script>
export default {
    //将属性暴露给父组件,这里暴露了name属性
    props: ['name'],
    data() {
        return {}
    },
    methods: {
    },
};
</script>

<style lang="scss"></style>

Test

<template>
  <div>
    <h1>我是父组件</h1>
    <!-- 在标签中赋值,使用v-bind动态修改 -->
    <TestComponent :name="msg" />
    <button @click="TestBtn">我修改组件属性</button>
  </div>
</template>

<script>
//引用子组件
import TestComponent from '@/components/TestComponent.vue';

export default {
  data() {
    return {
      msg: '修改前'
    };
  },
  components: {
    TestComponent
  },
  methods: {
    //添加按钮事件动态修改
    TestBtn() {
      this.msg = '修改后'
    }
  },
};
</script>

<style lang="scss"></style>

Vue 如何简单快速组件化,vue.js,前端,javascript

如何调用子组件方法

vue 父组件调用子组件方法ref

子组件不能直接修改props属性,只能父组件修改

  • 给子组件标签添加ref=“name”,name可以自定义
  • 在代码中使用this.$ref.name.method(子组件对应方法名)

完整代码

TestComponent

<template>
    <div>
        <h1>我是子组件</h1>
        <h2>我是子组件name属性:{{ name }}</h2>
        
    </div>
</template>

<script>
export default {
    //将属性暴露给父组件,这里暴露了name属性
    props: ['name'],
    data() {
        return {}
    },
    methods: {
        ChildBtn(){
            console.log('我是子组件方法')
        }
    },
};
</script>

<style lang="scss"></style>

Test

<template>
  <div>
    <h1>我是父组件</h1>
    <!-- 在标签中赋值,使用v-bind动态修改 -->
    <!-- 通过设置ref来调用子组件的方法 -->
    <TestComponent :name="msg" ref="Test" />
    <button @click="TestBtn">我调用子组件方法</button>
  </div>
</template>

<script>
//引用子组件
import TestComponent from '@/components/TestComponent.vue';

export default {
  data() {
    return {
      msg: '修改前'
    };
  },
  components: {
    TestComponent
  },
  methods: {
    //添加按钮事件动态修改
    TestBtn() {
      console.log("开始调用子组件方法")
      this.$refs.Test.ChildBtn()
    }
  },
};
</script>

<style lang="scss"></style>

Vue 如何简单快速组件化,vue.js,前端,javascript

Vue 如何简单快速组件化,vue.js,前端,javascript

总结

这个是最简单快速的组件化方法,我们可以添加name属性,props也也可以设置默认和属性检测。大家可以网上自己搜索一下详细的属性设置。关键词:组件化,父组件子组件,ref,props文章来源地址https://www.toymoban.com/news/detail-528337.html

到了这里,关于Vue 如何简单快速组件化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue(组件化编程:非单文件组件、单文件组件)

    传统组件编写:不同的HTML引入不同的样式和行为文件 组件方式编写:组件单独, 复用率高(前提组件拆分十分细致)  理解为封装行为:html,css,js封装在一个文件中 解释模块化和组件化的区别: 组件化 :css,js,html三件套使用在同一部分的代码封装在一个组件中 模块化

    2024年02月01日
    浏览(45)
  • 二、Vue组件化编程

    Vue 中使用组件的三大步骤: 定义组件(创建组件) 注册组件 使用组件(写组件标签) 如何定义一个组件? 使用 Vue.extend(options) 创建,其中 options 和 new Vue(options) 时传入的那个 options 几乎一样,但也有点区别; 区别如下: el 不要写,为什么? ——— 最终所有的组件都要经过一

    2024年02月22日
    浏览(36)
  • VUE3 --->组件化

    目录 vue-cli 1、基于 vue ui 创建 vue 项目  组件库 1.vue 组件库 2.vue 组件库和 bootstrap 的区别 3. 最常用的 vue 组件库 4. Element UI axios 拦截器 1. 回顾:在 vue3 的项目中全局配置 axios 2. 在 vue2 的项目中全局配置 axios 3、拦截器 4. 配置请求拦截器 5、配置响应拦截器 proxy 跨域代理 1. 回

    2024年02月15日
    浏览(30)
  • 【Vue】Vite 组件化开发

    1. 什么是组件化开发 组件化开发指的是:根据封装的思想,把页面上可重用的部分封装为组件,从而方便项目的开发和维护。 例如:https://gitee.com/vdpadmin/variant-form 所展示的效果,就契合了组件化开发的思想。用户可以通过拖拽组件的方式,快速生成一个页面的布局结构。

    2024年02月10日
    浏览(34)
  • 通用vue组件化登录页面

    1.首先建立一个login文件夹,在里面建立对应的login.vue文件 2.设置登录页面的背景图,在App.vue文件中使用router-view进行展示登录组件 3.先给App.vue的div元素设置高度100%,之后在login.vue里面去设置背景图 这里注意怎么使login组件垂直水平居中的样式 1.首先建立一个cpns的文件夹,里

    2024年02月09日
    浏览(31)
  • MVPArms官方快速组件化方案开源,来自5K star的信赖(1)

    基础库(网络请求、图片加载等)的封装 路由框架(页面跳转, 服务提供) 业务组件的划分和代码隔离 0.2.1 业务组件的划分和代码隔离 先说第三点 业务组件的划分和代码隔离 , 现在大部分的文章都围绕着这点, 我这里发表下个人的观点, 第三点确实是很重要的一点, 不管是大厂的

    2024年04月27日
    浏览(30)
  • Vue开发实战(03)-组件化开发

    对组件功能的封装,可以像搭积木一样开发网页。 Vue官方的示例图对组件化开发的形象展示。左边是一个网页,可以按照功能模块抽象成很多组件,这些组件就像积木一样拼接成网页。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aS7Zk8tp-16862

    2024年02月08日
    浏览(87)
  • 通用vue组件化展示列表数据

    1.首先先确定要展示的表格列名以及拿到所需要展示的数组数据 2.然后建立一个专门放el-table遍历的文件 3.在父组件中将数据列表数据存放在listData里面,然后传给子组件,子组件定义一个动态的列,通过遍历propList得到列名,然后也动态匹配prop,这样prop的值会去和listData进行匹

    2023年04月08日
    浏览(26)
  • 组件化开发之如何封装组件-react

    组件是构建用户界面的基本单元,它是一个独立的、可重用的、可组合的代码单元,用于表示UI的一部分。 人话:当谈论组件时,就像在搭积木一样,每个组件都是一个 独立的、可以重复使用 的代码块,用来构建网页或应用的各个部分。比如界面的布局,像按钮、文本输入

    2024年02月11日
    浏览(51)
  • Vue 组件化: 计算属性、内容分发、自定义事件

    目录 1. 计算属性 1.1 计算属性的特点 2. 内容分发 2.1 使用插槽的示例 3. 自定义事件 什么是计算属性 ? 计算属性的重点突出在 属性 两字, 首先它是个 属性 , 其次这个属性有 计算 的能力, 这里的计算就是个函数; 简单来说, 它就是一个能够将计算结果缓存起来的属性 (将行为转

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包