vue全家桶(二)组件化开发

news2024/11/13 10:27:45

vue全家桶(二)组件化开发

  • 1.组件化开发思想
  • 2.组件注册
    • 2.1局部注册
    • 2.2全局注册Vue.component
    • 1.注意事项:
    • 2.组件的命名方式
  • 3.组件间的交互
    • 3.1父组件向子组件传值-props属性值类型

1.组件化开发思想

  • 标准
  • 分治
  • 重用
  • 组合

2.组件注册

vue 注册组件的常用方法有局部注册和全局注册
局部注册使用就是哪里需要就引入,全局注册就是在main,js中挂载

2.1局部注册

局部注册的组件,只能在注册他的父组件中使用
父组件

<template>
  <div>
    <!-- 组件化开发 -->
    <button-counter></button-counter>
    <!-- <Buttoncounter></Buttoncounter> -->
  </div>
</template>
// 导入
import Buttoncounter from '@/components/Buttoncounter';
export default {
  name: 'basicKnowledgeThree',
  props: {},
  //   注册
  components: {
    'button-counter': Buttoncounter,
  },
  // components: {
  //    Buttoncounter,
  // },
}

子组件
@/components/Buttoncounter

<template>
  <div>
    计数,用于组件化开发1
    <!-- 子组件 -->
    <h3>当前最新的count值为:{{count}}</h3>
    <el-button type="primary" @click="btnHandler1">点击了{{count}}</el-button>
  </div>
</template>
<script>
export default {
  name: 'Buttoncounter',
  props: {
  },
  data() {
    return {
      count: 0
    }
  },
  computed: {},
  mounted() {
  },
  methods: {
    btnHandler1() {
      this.count++
    },
  }
}
</script>
<style scoped>
</style>

2.2全局注册Vue.component

在main.js中注册(我们一般使用的是Vue.components方法注册组件,使用Vue.use注册外部安装包)
(Vue.use也可以全局注册)

import Buttoncounter2 from './components/Buttoncounter2'
Vue.component('Buttoncounter2', Buttoncounter2)

子组件
@/components/Buttoncounter2/index.vue

<template>
  <div>
    计数,用于组件化开发2
    <!-- 子组件 -->
    <h3>当前最新的count值为:{{count}}</h3>
    <el-button type="primary" @click="btnHandler1">点击了{{count}}</el-button>
  </div>
</template>
<script>
export default {
  name: 'Buttoncounter2',
  props: {
  },
  data() {
    return {
      count: 0
    }
  },
  computed: {},
  mounted() {
  },
  methods: {
    btnHandler1() {
      this.count++
    },
  }
}
</script>
<style scoped>
</style>

使用
父组件

<template>
  <div>
    <!-- 组件化开发 -->
    <!-- 父组件 -->
    <Buttoncounter2></Buttoncounter2>
  </div>
</template>

1.注意事项:

1.data必须是一个函数
2.组件模板内容必须是单个根元素

<template>
  <div>
    <!-- 内容 -->
  </div>
</template>

3.组件模板内容可以是模板字符串

template: '<button @click="handle">点击了{{count}}次</button>',

template: `
  <div>
    <button @click="handle">点击了{{count}}次</button>
    <button>测试123</button>
  </div>
`,

2.组件的命名方式

组件命名方式有如下三种:

1. 驼峰命名CamelCase`
eg: helloVue
2. 帕斯卡命名PascalCase
eg: HelloVue
3. 短横线命名kebab-case
eg: hello-vue

引入组件

import HelloVue from '../UserCpn.vue'
或者
import HelloVue from '../UserCpn'

注册组件

export default {
  components:{
    HelloVue,
  },
}

使用组件

  <hello-vue></hello-vue>

总结
命名方式种类:helloVue(Camel Case即驼峰命名法),HelloVue(PascalCase即帕斯卡命名法)
为了以防万一,命名的时候统一使用帕斯卡命名法
但是在使用的时候统一使用 kebab-case命名方法

3.组件间的交互

时间戳,分页,截取字符串,父子组件之间传值和调动

11.子组件调用 ·父组件的方法·
12.父组件调用 ·子组件的方法·
13.父组件向子组件传值
14.子组件向父组件传值

1.props属性名规则

  • 在props中使用驼峰形式,模板中需要使用短横线形式
  • 字符串形式的模板中没有这个限制

在这里插入图片描述

3.1父组件向子组件传值-props属性值类型

  • 字符串String
  • 数值Number
  • 布尔值Boolean
  • 数组Array
  • 对象Object
<menu-item :pstr='pstr' :pnum='12' pboo='true' :parr='parr' :pobj='pobj'></menu-item>

props: ['pstr','pnum','pboo','parr','pobj'],

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182789.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《动手学深度学习》笔记一 ------机器学习中的基础概念

写在前面&#xff1a;本文按照书中的脉络做的笔记&#xff0c;包含概念的定义、自己的理解以及阅读时的小思考。感受&#xff1a;深度学习很奥妙&#xff0c;很有趣&#xff01; 1.2机器学习中的关键组件 可以⽤来学习的数据&#xff08;data&#xff09;&#xff1b;如何转换…

直接在Notepad++中运行GO语言

建议先阅读并实践&#xff08;配置notepad支持go语言语法着色(高亮)&#xff09;:https://mp.csdn.net/mp_blog/creation/editor/new/1287591911.Windows上安装Go语言开发包参考链接&#xff1a;http://c.biancheng.net/view/3992.html1.1.下载Go语言开发包可以在Go语言官网 &a…

大聪明教你学Java | 深入浅出聊 Mybatis 的一级缓存和二级缓存

前言 &#x1f34a;作者简介&#xff1a; 不肯过江东丶&#xff0c;一个来自二线城市的程序员&#xff0c;致力于用“猥琐”办法解决繁琐问题&#xff0c;让复杂的问题变得通俗易懂。 &#x1f34a;支持作者&#xff1a; 点赞&#x1f44d;、关注&#x1f496;、留言&#x1f4…

【头歌】函数的递归调用

第1关&#xff1a;编写递归函数方法求x的n次方 (要求n>0)任务描述本关任务&#xff1a;编写递归函数方法求x的n次方 (要求n>0)。相关知识递归法在定义一个过程或函数时出现调用本过程或本函数的成分&#xff0c;称之为递归。若调用自身&#xff0c;称之为直接递归。若过程…

论文笔记:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS

ICLR 2017 1 abstract和intro部分 问题的setting 在图上进行节点分类&#xff0c;其中只有一部分节点有label ——>基于图的半监督学习传统的方法是使用平滑正则 其中L0表示图中有监督部分的lossf是神经网络&#xff0c;ΔD-A表示unnormalized的拉普拉斯矩阵 这种方…

Blender 物理属性 (五)动态绘画

文章目录动态绘画简介.以小船划过水面产生波纹为例.波浪属性.动态绘画简介. 1 动态绘画可以让一个物体在另一个物体上绘制东西 2 动态绘画至少需要两个物体&#xff0c;一个作为画布&#xff0c;另一个作为笔刷 3 两个物体必须接触才有效果 以小船划过水面产生波纹为例. 1 为…

【数据结构】浅识泛型

目录 1、包装类 1.1、基本数据类型和其包装类 1.2、装箱和拆箱 1.2.1、装箱 1.2.2、拆箱 1.2.3、面试题 2、泛型的概念 3、引出泛型 3.1、语法 4、泛型类的使用 4.1、语法 5、裸类型&#xff08;Raw Type&#xff09; 6、泛型是如何编译的 6.1、擦除机制 6.2、不…

Springboot+ssm371的在线考试系统maven idea

摘 要 I 1 绪论 1 1.1研究背景 1 1.2研究现状 1 1.3研究内容 2 2 系统关键技术 3 springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是…

DPO4104示波器

18320918653 DPO4104 详细说明&#xff1a; 美国泰克Tektronix DPO4104数字荧光示波器主要产品特色&#xff1a;Inspector智能存储管理2.串行触发和分析3.10.4”更大的显示器, 前面板上USB和CompactFlash端口, 及TekVPI?改善的探头接口, 更强的操作渐 变性商品名称 &#x…

针孔相机模型

针孔相机模型坐标系(1) 图像像素坐标系(2) 图像物理坐标系(3) 相机坐标系(4) 归一化平面坐标系(5) 世界坐标系畸变校正针孔相机模型中一般会涉及到图像像素坐标系、图像物理坐标系、相机坐标系、归一化平面坐标系和世界坐标系这5个坐标系。 坐标系 (1) 图像像素坐标系 图像像…

IDEA设置界面和控制台的滚动条颜色

前言 不知道大家是否和我一样有这么一个烦恼&#xff1a; IDEA自带的滚动条颜色很暗&#xff0c;配上一些主题颜色搭配很难发现。 所以今天就想着怎么可以修改滚动条颜色&#xff0c;首先去网上搜了搜都是什么鼠标滚轮加shift滚动&#xff0c;一点也不实用 偶然看到了个不错的…

图表控件LightningChart.NET 系列教程(七):LightningChart 组件——LightningChart.NET 函数库

LightningChart.NET SDK 是一款高性能数据可视化插件工具&#xff0c;由数据可视化软件组件和工具类组成&#xff0c;可支持基于 Windows 的用户界面框架&#xff08;Windows Presentation Foundation&#xff09;、Windows 通用应用平台&#xff08;Universal Windows Platfor…

匿名函数 lambda

匿名函数 lambda 匿名函数&#xff1a;一句话函数&#xff0c;比较简单的函数,没有函数名的函数 在Python中&#xff0c;lambda的语法是唯一的 lamlambda a,b:ab lamlam(a1,b2) # 传参 print(lam) # 3lmbda的语法是唯一的。其形式如下&#xff1a;lambda argument_list: expr…

python图像处理(prewitt算子)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面几章谈到了灰化、增强、旋转、滤波等内容,今天来谈一谈边缘检测。边缘检测是图像处理的重要内容。很多图像分割、图像识别的前一步就是边缘检测。某种意义上说,边缘检测的好坏…

7-查看和处理文件内容

7-查看和处理文件内容 文本文件 ASCII、UTF-8、Unicode、ANSItxt、xml、conf、properties、yml等配置文件、日志文件、源代码 二进制文件 可执行文件、图片、音频、视频 cat 全拼&#xff1a;concatenate [kənˈkt(ə)nˌeɪt] 连接 格式&#xff1a;cat 文件名 more/…

2. Spring 注解开发

文章目录1. 用注解开发定义bean2. 纯注解开发3. 注解开发的 bean 管理3.1 作用范围管理&#xff08;单例或非单例&#xff09;3.2 生命周期管理4. 注解开发的依赖注入4.1 引用类型的依赖注入4.2 简单类型的依赖注入4.2.1 直接注入值4.2.2 注入 properties 文件中的值5. 注解开发…

Acwing---1101. 献给阿尔吉侬的花束

献给阿尔吉侬的花束1.题目2.基本思想3.代码实现1.题目 阿尔吉侬是一只聪明又慵懒的小白鼠&#xff0c;它最擅长的就是走各种各样的迷宫。 今天它要挑战一个非常大的迷宫&#xff0c;研究员们为了鼓励阿尔吉侬尽快到达终点&#xff0c;就在终点放了一块阿尔吉侬最喜欢的奶酪。…

MYSQL不存在插入 存在更新的解决方法和对比

设置主键id自增&#xff0c;name为唯一索引 一、避免重复插入 insert ignore into&#xff08;有唯一索引&#xff09; 关键字/句: insert ignore into&#xff0c;如果插入的数据会导致 UNIQUE索引 或 PRIMARY KEY 发生冲突/重复&#xff0c;则忽略此次操作/不插入数据&…

Leetcode.1664 生成平衡数组的方案数

题目链接 Leetcode.1664 生成平衡数组的方案数 题目描述 给你一个整数数组 nums。你需要选择 恰好 一个下标&#xff08;下标从 0 开始&#xff09;并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。 比方说&#xff0c;如果 nums[6,1,7,4,1]nums [6,1…

spark转化操作

文章目录转化操作Transformer算子概念单RDD转换函数多RDD转换函数map与flatmap转化操作 由于spark的惰性计算特性&#xff0c;RDD只有在第一次行动操作中被用到时才会真正进行计算&#xff0c;因此我打算将文章内容分为"转化操作"和"行动操作"两部分&…