第二部分组件化编程:vue学习(53-60)

news2024/12/23 16:05:57

文章目录

  • 53.对组件的理解
  • 54 非单文件组件
  • 55 组件的几个注意事项
  • 56 组件的嵌套
  • 57 vuecomponent构造函数
  • 58 vue实例与组件实例
  • 59 一个重要的内置关系
  • 60 单文件组件

53.对组件的理解

在这里插入图片描述

左侧2个页面,如果要复用js和css的话,引用的路线十分混乱。使用js模块化,之前也解决了一些混乱的问题。上面的案例,都是顶部和底部,其实是没有复用的,只是在复制。
想要实现彻底的复用,就是组件时代了。如下图。组件写好了,只要引用就行。也体现了封装的思想。
在这里插入图片描述
看一个vue官网的图:所有的组件,都应该被vue管理。
在这里插入图片描述
下定义:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

54 非单文件组件

在这里插入图片描述
真的做项目,用的都是单文件组件

案例1:实现2个组件如下
在这里插入图片描述
代码:创建组件
在这里插入图片描述
然后定义html代码:使用template标签

在这里插入图片描述

代码:注册组件

在这里插入图片描述
代码:使用组件

在这里插入图片描述
使用vm调试工具看一下界面的效果:
在这里插入图片描述
组件中想要写个点击事件,还是照样写。只有非单文件组件的时候,是这么恶心的写法,没有高亮,真正开发,都是单文件组件。
在这里插入图片描述

关于局部注册和全局注册:
如果在其它vm实例管理的容器内,使用了未注册的组件会报错。
在这里插入图片描述
在这里插入图片描述

因为我们是局部注册,所以会出现这种情况,可以把组件注册成全局的。如下图,使用Vue.component()函数。
在这里插入图片描述
总结:

在这里插入图片描述

55 组件的几个注意事项

在这里插入图片描述
关于name属性:
在这里插入图片描述
在这里插入图片描述

简写注册的语法:因为vue底层会帮你调用extend方法。
在这里插入图片描述

56 组件的嵌套

下图是一个嵌套的案例:父组件和子组件
在这里插入图片描述
在这里插入图片描述
注册student组件到schoo中。
在这里插入图片描述
然后在结构里面加上student的标签。
在这里插入图片描述
开发中vm组件只管理一个app组件,app组件管理所有的组件。

这样写的话,html部分如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
html部分甚至可以省去。
在这里插入图片描述

57 vuecomponent构造函数

问题1:组件到底是什么类型的?log输出一下。
在这里插入图片描述

打印的信息如下:组件的本质是个函数,构造函数。
在这里插入图片描述
在这里插入图片描述
看一下源码extend里面的内容:证明了上面3的内容。

在这里插入图片描述

vm对象管理者vc对象。

在这里插入图片描述

注意:template必须要有根元素,div。

58 vue实例与组件实例

API适合现用现讲,原理性的东西适合提前讲。

vm和vc属性和方法十分相似,但是不能划等号。

区别1:vm可以写el属性,但是vc不能写。vc跟着大哥混,就是一块砖,哪里用到哪里搬。
区别2:vc的对象必须写成函数

在这里插入图片描述
在这里插入图片描述

59 一个重要的内置关系

案例引入:

在这里插入图片描述

在这里插入图片描述
案例引入之后的结论:
在这里插入图片描述
结论验证:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

代码验证:

在这里插入图片描述
在这里插入图片描述

60 单文件组件

单文件组件的后缀,是vue。最终需要被处理成js文件。
处理一般通过2种方式,webpack 和 cli脚手架。组件文件的起名,使用大驼峰。
在这里插入图片描述
vue文件中,有3个标签。只支持这三个核心标签。
在这里插入图片描述
vscode需要安装插件,才能识别这种vue文件。
在这里插入图片描述
第一个案例:
在这里插入图片描述
上面的案例有问题,组件没有暴露出去,别人没法用。加上暴露关键字。一般是下面的默认暴露。

在这里插入图片描述
优化一下写法:省略。

在这里插入图片描述
写完组件之后,所有的组件需要被app组件管理,也就说得有App.vue

在这里插入图片描述
app组件需要被vm管理。需要创建main.js.

在这里插入图片描述

创建index,html 引入这个js。也是给他容器。

在这里插入图片描述

vue 结尾的文件,一定不能出现 new Vue() 代码

main.js 我们叫他入口文件。

需要注意的是,上面这种写法一旦写了,就不能用浏览器,运行这个这个index.html文件了,需要借助脚手架了。

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

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

相关文章

熔断、隔离、重试、降级、超时、限流,高可用架构流量治理核心策略全掌握

可用性的定义 在探讨高可用架构之前,让我们以 O2 系统为例,解释一下何谓可用性。O2 是腾讯内部的一个广告投放系统,专注于提升投放效率、分析广告效果,拥有自动化广告投放、AIGC 自动化素材生产等多种功能。 其整体架构概览如下&…

abaqus复合材料 19个实例

实例操作: 1.复合材料层结构的三种常用建模方法、静力分析中强度准则和损伤判据的引入、数据输入与输出 2.层合结构的热-力耦合分析 3.基于虚裂纹闭合技术(VCCT)的分层扩展模拟 4.基于cohesive单元的分层/界面损伤扩展模拟 5.基于XFEM方法的裂纹扩展模拟 6.复合材料加筋板…

在Go语言中实现HTTP请求的缓存

大家好,我是你们可爱的编程小助手,今天我们要一起探讨如何使用Go语言实现HTTP请求的缓存。听起来是不是很酷?让我们开始吧! 首先,我们要明白什么是缓存。简单来说,缓存就是将数据存储在内存中,…

中国供应链,出海大时代

尽量优化、打通跨境电商每一个参与方的物流、商流、信息流、资金流是电商供应链出海的解题之法。这个过程中数智化便是打通这些节点的钥匙。 作者|斗斗 编辑|皮爷 出品|产业家 “速卖通加持,阿里国际零售商业收入同比上涨73%”“拼多多发布Q3财报同比增长94%…

STM32MP157/linux驱动学习记录

1. uboot烧录 2.linux安装nfs服务 sudo apt-get install nfs-kernel-server rpcbind安装nfs服务 在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹&#…

文件属性信息

文件的属性信息 Linux是一个基于文件的操作系统,因此作为文件本身也就有很多属性,如果想要查看某一个文件的属性有两种方式:命令和函数。虽然有两种方式但是它们对应的名字是相同的,叫做stat。另外使用file命令也可以查看文件的一…

从fuzz视角看CTF堆题--qwb2023_chatting

前言 这个题目是一个c的堆题,而我自己对于c的一些内存分配不太了解,同时也不太会c的逆向,硬看是没有办法了,所以就想能不能通过fuzz的角度去进行利用 fuzz 大概思路 函数选择 可以看到有add delete switch read listuser mes…

大创项目推荐 深度学习动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

小红书如何高效引流?

近年来,公域流量价格不断上涨,私域流量的优势逐渐凸显。企业正花费大量资源和成本来获取新流量,但与其如此,不如将精力放在留存和复购上,从而实现业绩的新增长。其中关键在于如何有效地将公域流量转化为私域流量。 然而…

html5实现好看的个人博客模板源码

文章目录 1.设计来源1.1 主界面1.2 认识我界面1.3 我的文章界面1.4 我的模板界面1.5 文章内容界面 2.结构和源码2.1 目录结构2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/135368653 html5实现好看…

ExecutorCompletionService详解

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 文章目录 摘要ExecutorCompletionService适用场景ExecutorCompletionService使用ExecutorCompletionService原理解析注意事项总结 摘要 ExecutorCompletionService 是Jav…

LeetCode做题总结 15. 三数之和(未完)

不会做,参考了代码随想录和力扣官方题解,对此题进行整理。 代码思路 思想:利用双指针法,对数组从小到大排序。先固定一个数,找到其他两个。 (1)首先对数组从小到大排序。 (2&…

【网络技术】【Kali Linux】Wireshark嗅探(四)域名系统(DNS)

一、实验目的 本次实验使用wireshark流量分析工具进行网络嗅探,旨在了解域名系统(DNS)的工作原理。 二、域名系统概述 简单来说,域名系统(Domain Name System, DNS)将域名(可以理解为“网址”…

为什么要用扫码出入库?

一、什么是扫码出入库管理系统 传统的仓库管理模式存在很多问题,如:货物积压、过期、丢失等。这些问题不仅影响了企业的正常运营,还给企业带来了经济损失。为了解决这些问题,扫码出入库管理系统应运而生。该系统采用先进的二维码…

Apache的配置与应用

目录 1、Apache简介 2、Apache连接保持 3、Apache的访问控制 3.1、客户机地址限制 3.2、用户授权限制 (1)创建用户认证数据文件 (2)添加用户授权配置 (3)验证用户访问授权 4、Apache日志分割 4…

Vivado JESD204B与AD9162建立通信实战总结

一、FPGA与AD9162的JESD204B接口 FPGA作为JESD204B接口的发送端,AD9162作为JESD204B接口的接收端。FPGA和AD9162的device clk、SYSREF由同源时钟芯片产生。其中,FPGA和AD9162的divice clk时钟不同,并且FPGA的decive clk等同于JESD204B IP的co…

【UnityShader入门精要学习笔记】(3)章节答疑

本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 复习(阶段性总结…

数据分析案例-外国电影票房数据可视化分析(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

k8s 1.23.5版本安装ingress1.6.4

1、背景 网上找了好几个ingress 文件,可能是版本没对,ingress都没有安装成功,最后查了相关资料,手动安装了。 下面是版本的匹配列表 github中ingress 地址:https://github.com/kubernetes/ingress-nginx 1.23.5版本支…

MySQL的安装网络配置

目录 一. MySQL5.7的安装 二. MySQL8.0的安装 三. 配置网络访问 思维导图 一. MySQL5.7的安装 1. 解压 2. 将my.ini文件放入到解压文件中 3. 编辑my.ini文件,将路径改为当前路径 4. 进到bin目录下,以管理员身份打开cmd命令窗口 5. 安装MySQL服务 my…