Vue2进阶——项目结构/小注意项

news2024/11/20 12:23:50

文章目录

  • 一、文件解构
  • 二、render
  • 三、ref属性
  • 四、mixin配置项
  • 五、插件
  • 六、scoped
  • 七、浏览器的本地存储
    • 1、localStorage
    • 2、sessionStorage
  • 八、$nextTick
  • 九、过渡与动画
    • 1、写法
    • 2、使用
    • 3、第三方动画

一、文件解构

在这里插入图片描述
public,favicon.ico,index.html,src,main.js这些文件名都不能改,不然会配置错。如果实在要改可以新建一个vue.config.js文件去修改

  • 使用vue inspect > output.js可以査看到Vue脚手架的默认配置。
  • 使用vue.config.js可以对脚手架进行个性化定制,详情见:修改配置中的配置参考

二、render

main.js创建Vue实例对象将App这个组件放入容器利用到render

new Vue({
	el:'#app',
	render:h=>h(App),
})
//render详细是这么写的
render(createElement){
	return createElement('h1','你好啊')
}

我们引入的是残缺版的vue.js文件–vue.runtime.xxx.js(即只有vue.js中的核心代码,没有模板解析器),按照原始写法,则无法生成正常项目,需要借助render函数。

  1. vue.js与vue.runtime.xxx.js的区别:
  • vue.js是完整版的Vue,包含:核心功能+模板解析器。
  • vue.runtime.xxx.is是运行版的Vue,只包含:核心功能:没有板解析器
  1. 因为vue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,需要使用render所数按收到的createElement函数去指定具体内容。

三、ref属性

  • 被用来给元素或子组件注册引用信息(id的替代者)。
  • 应用在html标签上获取的是真实DOM元素(用原生DOM操作也能获取),应用在组件标签上是组件实例对象(vc)。
  • 使用方式:
    – 打标识: < h 1    r e f = " x x x " > . . . . . < / h 1 > 或 < S c h o o l    r e f = " x x x " > < / S c h o o l > <h1 \ \ ref="xxx">.....</h1>或<School \ \ ref="xxx"></School> <h1  ref="xxx">.....</h1><School  ref="xxx"></School>
    – 获取:this.$refs.xxx

四、mixin配置项

  • 功能:可以把多个组件共用的配置提取成一个混入对象
  • 生成:对外一个xxx.js,将需要共用的函数暴露出去 export
xxx.js中可以写vue里的需要的任何东西
export const a = {
	data(){...},
	methods:{...},
	...
}
  • 使用:
全局混入:Vue.minxin(xxx)
局部混入:mixins['xxx']

遇到冲突的话data是以自己的为主,像mounted的两者一起使用

五、插件

  • 用于增强Vue。
  • 本质:安装install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据。
  • 定义插件
在xxx.js中
export default{
	install(vue,options){
		//1.全局过滤器
		Vue.filter(...)
		//2.添加全局指令
		Vue.directive(...)
		//3.配置全局混入
		Vue.mixin(...)
		//4.添加实例方法
		Vue.prototype.mymethod = funtion(){...}
	}
}
  • 使用插件
引入js名字
import xxx form ''
Vue.use(xxx)

六、scoped

  • 作用:让css样式在局部生效,防止冲突
  • 写法
<style scoped>

七、浏览器的本地存储

  • key-value形式。存储内容大小一般是5MB左右。
  • 浏览器端通过window.localStorage和window.sessionStorage实现本地存储机制

1、localStorage

将浏览器关闭数据也不会消失

1.存储数据:localStorage.setItem(key,value)
//若value不是string类型,则会自动调用tostring方法,而对象调用tostring不是想要的值,因此需要json转换,转成JSON.stringify(value)
2. 读取数据:localStorage.getItem(key)
3. 删除数据:localStorage.removeItem(key)
4. 全部清除:localStorage.clear

2、sessionStorage

浏览器关闭数据会消失,其余函数都与localStorage一样

1.存储数据:sessionStorage.setItem(key,value)
//若value不是string类型,则会自动调用tostring方法,而对象调用tostring不是想要的值,因此需要json转换,转成JSON.stringify(value)
2. 读取数据:sessionStorage.getItem(key)
3. 删除数据:sessionStorage.removeItem(key)
4. 全部清除:sessionStorage.clear

八、$nextTick

  • 语法:
this.$nextTick(回调函数)
  • 作用:在下一次DOM更新结束之后执行其指定的回调。
  • 应用场景:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行。

九、过渡与动画

  • 作用:在插入,更新或者移除DOM元素时,在合适的时候给元素添加样式类名。
    在这里插入图片描述

1、写法

  1. 元素进入的样式
  • v-enter:进入的起点
  • v-enter-active:进入过程中
  • v-enter-to:进入终点
  1. 元素离开的样式
  • v-leave:离开的起点
  • v-leave-active:离开过程中
  • v-leave-to:离开的终点

2、使用

使用transition包裹要过渡的元素,并配置name属性

<transition name="hello">
	<h1 v-show="isShow">xxx</h1>
</transition>
//有name前面的样式就变成name--enter等,比如这里是hello-enter。
//没有name,就用v-

若有多个元素过渡,则需要使用<transtion-group>,且每个元素都要指定key值

3、第三方动画

Vue中有很多集成好的动画可以直接使用
网站

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

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

相关文章

iOS 18 终于更新了 iOS 隐藏 App 功能,这次是真的隐藏

如何锁定或隐藏 App 我们一起来看看 iOS 如何隐藏软件&#xff0c;下面是具体的操作步骤&#xff1a; iOS 隐藏 App 的第一步肯定是找到你想隐藏或锁定的应用程序&#xff0c;然后长按它的图标&#xff0c;在长按之后出现的选项中我们选择“需要 Face ID”。 然后在新弹出的选…

Red Hat Ansible Automation Platform架构

目录 示例架构&#xff1a;一、Ansible Automation Platform 实现流程详解1. 自动化控制器 (Automation Controller)2. 自动化网格 (Automation Mesh)3. 私有自动化中心 (Private Automation Hub)4. Event-Driven Ansible 控制器5. 数据存储 (PostgreSQL 数据库) 二、实现流程1…

各类存储器类型(RAM、ROM、FLASH、DRAM、SRAM)

1 计算机存储类型构成 在计算机中&#xff0c;各类存储器构成了计算机能高速高效运转程序的基石。 计算机的存储体系中&#xff0c;从速度慢到速度快对应着容量大到小&#xff0c;也就是说&#xff0c;速度越快容量越小&#xff1b;容量越大的&#xff0c;速度越慢。两者互相…

AI办公自动化:用通义千问批量翻译长篇英语TXT文档

在deepseek中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;现在要完成一个编写基于qwen-turbo模型API和dashscope库的程序脚本&#xff0c;具体步骤如下&#xff1a; 打开文件夹&#xff1a;F:\AI自媒体内容\待翻译&#xff1b; 获取里面所有TXT文档&#xff…

3D模型可视化引擎HOOPS Communicator与Visualize的统一化文件加载解决方案

在当今数字化时代&#xff0c;3D可视化技术已成为工程设计、建筑规划和游戏开发等多个领域的核心技术。Tech Soft 3D公司凭借其创新的HOOPS Communicator和HOOPS Visualize两款开发包&#xff0c;分别针对Web端和桌面端提供了强大的3D可视化解决方案。然而&#xff0c;由于两者…

【GUI软件】小红书蒲公英数据批量采集!高效筛选优质博主,助力品牌商

文章目录 一、背景介绍1.0 爬取目标1.1 演示视频1.2 软件说明 二、代码讲解2.0 关于接口2.1 爬虫采集模块2.2 cookie获取2.3 软件界面模块2.4 日志模块 三、获取采集软件 一、背景介绍 1.0 爬取目标 众所周知&#xff0c;蒲公英是小红书推出的优质创作者商业合作服务平台&…

Leangoo一站式敏捷研发协同平台,助力敏捷企业高效协同

在当今快速变化的市场环境中&#xff0c;企业对于研发效率和质量的要求日益提高。为了应对这一挑战&#xff0c;敏捷研发方法应运而生&#xff0c;并迅速成为众多企业的首选&#xff0c;然而&#xff0c;如何有效地实施敏捷研发&#xff0c;确保团队之间的高效协作和项目的顺利…

ThreeJS-截屏下载pdf或者图片时白屏

JS-页面截图下载为pdf 关于如何下载为 pdf 在上面的这篇文章中有写&#xff0c;大家可以看下&#xff0c;下载图片代码在最下面 这时我们发现 three 部分是空白的如下&#xff1a; 这就多少有点尴尬了&#xff0c;这时我们习惯性的看下后台报错 是不是发现了惊喜&#xff0c;…

配电室数据中心巡检3d可视化搭建的详细步骤

要搭建配电室巡检的3D可视化系统&#xff0c;可以按照以下步骤进行&#xff1a; 收集配电室数据&#xff1a; 首先&#xff0c;需要收集配电室的相关数据&#xff0c;包括配电室的布局、设备信息、传感器数据等。可以通过实地调查、测量和设备手册等方式获取数据。 创建3D模型…

专访毫末智行COO 侯军:自动驾驶,水深鱼才大

站在当下&#xff0c;回看自动驾驶赛道的各个玩家们&#xff0c;活下去的要不就是“家里有矿”&#xff0c;要不就是场景、技术降维&#xff0c;渐进式发展。但活的好的有一个共性&#xff0c;就是顺应需求&#xff0c;让技术落于产业实处。 作者|斗斗 出品|产业家 “我们认…

无线传感器网络技术原理及应用

第一章 简述无线传感器网络的概念及与传统无线网络的区别。 无线传感器网络的概念&#xff1a;无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点组成&#xff0c;通过无线通信方式形成的一个多跳的自组织网络系统&#xff0c;其目的是协作地感知、采集和处理网络…

基于STM32和人工智能的智能楼宇安防系统

目录 引言环境准备智能楼宇安防系统基础代码实现&#xff1a;实现智能楼宇安防系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景&#xff1a;智能楼宇安防管理与优化问题解决方案与优化收尾与总结 1. 引言 随着物联网和人工智能技术的…

FragPunk联机延迟高、联机闪退、无法组队的解决方法

FragPunk是一款最新的5V5射击游戏。游戏中&#xff0c;有超过70张的技能卡&#xff0c;每一张都拥有独特的功能&#xff0c;比如说生成草丛、让伤害可以传导到敌方队伍每个人身上、让手枪也能喷火、召唤死神等等&#xff0c;功能很丰富&#xff0c;这些卡让每轮战斗都充满了变化…

Python Django Vue3 在线商城网站 在线商城后台管理 案例源码

源码地址获取 演示视频 Python DjangoVue3 在线商城网站&#xff0c;商城管理后台系统案例源码 附带运行教程&#xff0c;开发工具&#xff0c;系统运行演示 技术栈:Django Vue3 开发工具:Pycharm 后端构建工具:Pip 前端构建工具:WebPack 运行环境:Windows Python版本:3.11 Nod…

2024年全球架构师峰会(ArchSummit深圳站)

前言 ArchSummit全球架构师峰会是极客邦科技旗下InfoQ中国团队推出的重点面向高端技术管理者、架构师的技术会议&#xff0c;54%参会者拥有8年以上工作经验。 ArchSummit聚焦业界强大的技术成果&#xff0c;秉承“实践第一、案例为主”的原则&#xff0c;展示先进技术在行业中的…

Prometheus常见exporter安装部署

Prometheus常见exporter安装部署 在稳定性环境的监控当中需要收集各种各样的数据&#xff0c;这样的数据收集是通过各种exporter进行的&#xff0c;在这里我们进行最常用稳定性数据的收集exporter安装部署介绍。 node_exporter安装部署 node_exporter主要监控服务器本身的一…

lib9-02 配置扩展 ACL

实验&#xff1a;配置扩展 ACL 1、实验目的 通过本实验可以掌握编号扩展 ACL 定义和应用的方法命名扩展 ACL 定义和应用的方法 2、实验拓扑 实验拓扑如下图所示。使用扩展 ACL 实现如下访问控制 拒绝 PC1 所在网段访问 Server1 的 Web 服务拒绝 PC2 所在网段访问 Server1 …

AI在创造还是毁掉音乐?

简介 最近一个月&#xff0c;轮番上线的音乐大模型&#xff0c;一举将素人生产音乐的门槛降到了最低&#xff0c;并掀起了音乐圈会不会被AI彻底颠覆的讨论。短暂的兴奋后&#xff0c;AI产品的版权归属于谁&#xff0c;创意产业要如何在AI的阴影下生长&#xff0c;都在被更多理…

学会python——制作一款天气查询工具(python实例七)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、天气查询工具 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的…

新手小白系列——关于 Docker 安装的方法

Docker 是一个应用打包、分发、部署的工具基础概念&#xff1a; 镜像&#xff1a;软件安装包&#xff0c;可以方便的进行传播和安装。 容器&#xff1a;软件安装之后的状态&#xff0c;每个软件运行环境都是独立的、隔离的&#xff0c;称之为容器 仓库&#xff1a;专门用来传播…