Vue.js - 核心

简介: Vue.js - 核心

【序号】表示后期插入的知识点~

1、Hello World

2、双向绑定
语法:v-model
简介:v-model 是一个模板指令 input里面value的内容输入什么,下面content的内容就会显示出来。

3、数据绑定
语法:{{}}

【1】、属性绑定
语法:v-bind ~ :
简介:title='title' 后面的title不是个字符串 而是js的表达式 (new 实例下面的title)。

4、MVP & MVVM
4.1、MVP

4.2、MVVM


Ps:VM层属于Vue层(数据自动绑定),面向数据开发;而传统的MVP中的P层主要是面向DOM开发;用MVVM模式可以减少30%的代码量甚至可以达到70%。

5、组件
5.0、Vue组件 & Vue实例
在Vue里 ,每一个Vue组件,都是一个Vue实例。
Vue实例有的功能,Vue组件都同样拥有。
如果一个vue实例里面没有定义template,那么这个实例会把它对应的挂载点下的所有内容当作模板。

5.1、全局组件(注释部分) & 局部组件

5.2、组件即实例(new Vue({}))
5.3、组件定义的新标签,有时不能直接使用,比如:

Ps:一般情况下,父组件可以传递数据到子组件(单向),子组件不能修改从父组件而来的变量,不过可以通过data临时变量来传递到父组件。

【4、父子组件通信过程】

(1)父组件通过prop向子组件传值,子组件获得父组件传来的内容和索引。
(2)子组件通过$emit向父组件抛出触发事件名称(delete)和触发事件的list索引值。
(3)父组件通过监听对应事件名称(@delete)触发函数handleDelete。函数通过子组件抛出的索引值对应删除list。

5.7、组件参数检验 + props + 非props 特性

props:不仅可以用数组来接收,也可以用对象来接收;渲染后不会显示content=”xxx”。

非props:可以直接操作要显示的数据,渲染后会显示content=”xxx”。一般非props不常用。

5.8、组件绑定原生事件
传统方式:

Ps:emit针对自定义事件;而在组件内部 @click 属于原生事件。
简写方式:

5.9、非父子组件通信

5.10、内容插槽

5.11、作用域插槽

Ps:在这里的和slot-scope是固定写法。

5.12、动态组件 & v-once 指令

Ps:注释的代码性能更好,因为不需要每次都删除再增贴。

5.13、template 属性



Ps:挂载点:指的是el标记的。
模板:既可以写在挂载点内部,也可以写在js的template里面。
挂载点里面的内容称之为模板。

6、生命周期

Ps:椭圆白底矩形的方法是不用写在methods里面的,与methods同层次级别。

7、计算属性(一)
语法:computed:{}
提示:
7.1、支持缓存,只要跟他的相关值改变才会更新,否则一直使用缓存。
7.2、若一个业务逻辑可以用watch、methods、computed实现的话,优先选择computed,因为代码少,而且性能最好。

7、计算属性(二)
语法:computed:{
xxx:{
set: function(){},
get: function(){}
}
}
提示:
7.1、支持缓存,只要跟他的相关值改变才会更新,否则一直使用缓存。
7.2、set函数里面需要自己split来分割分别赋值。

8、监听器
语法:watch:{}
提示:
8.1、支持缓存,只要跟他监听的变量改变才会更新。

【2】计算属性 & 监听器

9、样式绑定
9.1、:style
9.2、:class
Ps:value用数组或{}(对象)来表示,用对象时,注意用驼峰命名法,比如:font-size => fontSize。

10、条件渲染
10.1、v-show
提示:
10.1.1、如果为false,相当于display:none; 和v-if一样会整个DOM都消失了;从性能上来看v-show性能更好。

10.2、v-if / v-else-if / v-else
提示:
10.2.1、中间不能有其他与if/else不相关的元素,if/else必须紧接着一起。

10.3、key
提示:
10.3.1、因为Vue会尽可能的用已加载好的结构来提高性能,但是有时也会出现BUG,比如:input元素,此时,就要用key来区分,避免乱用别人的DOM(脏数据)。

【3、v-if & v-show】

  • v-if 为false时,DOM元素在HTML里不存在(原来存在的话,现在就被删除),自然而然在流结构上面不存在。
  • v-show 为false时,DOM元素在HTML里存在,但是 display:none 而且在流结构上面仍然属于不存在。

11、列表渲染
语法:v-for=”(item, index, key) of list”
语法::key=”item.id”(不推荐使用”index”,因为性能不好)

提示:
11.1、使用下标改数据,数据成功改变,但不会实时渲染;只有调用上面注释的API(变异方法)改变数据或者改变引用地址(赋值新的对象或数组)才会实时渲染。
11.2、相当于小程序中的可节省一个


11.3、Vue.set 或 vm.$set 也可以实现实时渲染

【4、for of & for in】
ES6 - for of & for in 区别

12、CSS动画原理


Ps1:如果属性name=”xxx”,则class为“.xxx-enter-active”其他类似,默认为“.v-…”。
Ps2:leave:准备离开时调用;enter:准备出现时调用。

13、Animate.css库

Ps:支持自定义动画。

Ps:支持自定义class。

Ps:必须使用自定义的模式,如“enter-active-class”来使用;并且加上“animated”,剩下的效果自己选择。其实Animate.css库只是@keyframes的封装罢了。

14、Animate.css & 自定义同时使用

Ps1:appear 出场时调用。
Ps2:type 选择以自定义的时间为基准。
Ps3::duration 固定出现和消失的基准时间,若一样,则可以“:duration=‘毫秒’”。

15、结合动画Velocity.js使用
传统方式:

Ps:leave类似。

Velocity.js方式:

16、多个元素或组件的过渡
方法一:

方法二:

17、列表过渡

Ps:高亮选中的为的原理部分。

18、动画封装

19、项目初始化



Ps:项目更新到码云上。

20、单页应用 & 多页应用

Ps:单页应用,把当前页DOM删除掉,再把需要的渲染出来。

21、axios
URL代理

22、keep-alive
22.1、多了一个 activated 生命周期
22.2、多了一个 deactivated 生命周期
22.3、exclude 属性
实战:每个地方的首页是不一样的,如果我第一次选A地,发送一次请求;如果第二次还选A地,不发送请求;如果选非A地,发送一次请求。

23、Vue + Vue-Cli + Webpack + npm

build 目录下放置的是项目的webpack配置文件,可以不动

config 是针对线上环境和开发环境的配置文件,也可以不动

node_modules 指的是项目的依赖

src 指的是源代码放置的目录

static 放置的是静态的资源

src中的main.js文件是整个项目的入口文件

vue-cli 提供了一种新的vue的编码语法:单文件组件(一个.vue文件中包含了一个组件里必须的所有内容)

vue-cli 的优势:

23.1、可以使用es6。

23.2、一个组件是一个.vue的文件所定义的,实现了组件的封装。

(在安装该工具之前需要安装npm和node)

24、单文件组件开发模式

  • template下面只能有一个最外层根标签。
  • 在v-cli脚手架中,data不再是一个对象,而是一个函数。

附:

目录
相关文章
|
3月前
|
人工智能 SEO 自然语言处理
GEO 底层逻辑:大模型时代的数据分发管线重构
当传统的 SEO(搜索引擎优化)红利见顶,流量获客的逻辑正在发生底层重构。2025 年,随着各大 LLM(大语言模型)逐渐成为网民获取信息的第一入口,GEO(Generative Engine Optimization,生成式引擎优化)已经成为企业数字营销的必争之地。
|
网络协议 关系型数据库 Go
swoole| swoole 协程用法笔记
swoole| swoole 协程用法笔记
1192 0
|
算法 异构计算
基于FPGA的LMS自适应滤波器verilog实现,包括testbench
基于FPGA的LMS自适应滤波器verilog实现,包括testbench
795 0
|
机器学习/深度学习 存储 搜索推荐
GBDT+LR简介
GBDT+LR简介
383 0
|
Java 开发工具 数据安全/隐私保护
Windows平台使用Gitblit搭建Git服务器
Windows平台使用Gitblit搭建Git服务器
|
Java 中间件 C++
细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅
王晶昱花名沈询,阿里高级专家,来自阿里巴巴中间件和稳定性平台。目前主要负责阿里的分布式数据库DRDS(TDDL)和阿里的分布式消息服务ONS(RocketMQ/Notify)两个系统
2086 96
|
Unix Linux
Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈
Ian Murdock 走了,但 Debian 常在。今天就从与 Ian Murdock 的访谈来回顾一下 Ian 的 Debian 往事。 Debian 社区前几日宣布,Debian 的著名创始者 Ian Murdock 已经去世,死因至今不明。
6854 0
|
安全 测试技术 量子技术
量子计算硬件:超导量子比特的最新进展
量子计算作为信息技术的前沿领域,超导量子比特作为其核心组件,近年来取得了显著进展。本文介绍了超导量子比特的基本原理、制造与性能提升、最新技术成果及未来展望,展示了其在密码学、化学和材料科学等领域的潜在应用,预示着量子计算时代的到来。
|
前端开发 容器
2023年你应该需要知道的CSS新特性-交互篇
前一段时间State of CSS发起了2022年的调查问卷,该文件的内容主要是CSS新特性、框架、工具库的使用情况,这里我将会用几篇文章整理一下这个问卷中涉及到的新特性。
748 0

热门文章

最新文章