前端主要工作:

官网:展示公司、炫酷(交互效果多)、数据比较少。基本上一定是前端做
小程序:页面不一定很炫酷、数据不一定很多。一定是前端做
app:展示公司、页面不炫酷、数据很多。大概率不是前端做
后台管理系统:页面不炫酷、数据非常庞大。一定是前端做的
功能:公司人员、薪酬福利、请假、公告
H5活动页面:页面炫酷、数据不多、一次性使用。一定是前端做的

Vue

1、作者:尤雨溪
2、官网:https://cn.vuejs.org
3、渐进式JavaScript 框架

渐进式:主张最少
jquery:主要用来处理动画
bootstrap:ui框架(响应式、组件)
数据请求:ajax、axios

4、优点:

易用、灵活、高效、模块化友好、SPA(单页面应用)

多页面应用
每一次页面跳转的时候,后台服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用。

多页面应用:一个url–>1个HTML,多个url–>多个HTML,有利于SEO(搜索引擎优化),会出现白屏

为什么多页应用的首屏加载快?

首屏时间叫做页面首个屏幕的内容展现的时间,当我们访问页面的时候,服务器返回一个html,页面就会展示出来,这个过程只经历了一个HTTP请求,所以页面展示的速度非常快。

为什么搜索引擎优化效果好(SEO)?

搜索引擎在做网页排名的时候,要根据网页内容才能给网页权重,来进行网页的排名。搜索引擎是可以识别html内容的,而我们每个页面所有的内容都放在Html中,所以这种多页应用,seo排名效果好。

但是它也有缺点,就是切换慢,出现白屏

因为每次跳转都需要发出一个http请求,如果网络比较慢,在页面之间来回跳转时,就会发现明显的卡顿。

单页面应用
第一次进入页面的时候会请求一个html文件,刷新清除一下。切换到其他组件,此时路径也相应变化,但是并没有新的html文件请求,页面内容也变化了。
原理是:JS会感知到url的变化,通过这一点,可以用js动态的将当前页面的内容清除掉,然后将下一个页面的内容挂载到当前页面上,这个时候的路由不是后端来做了,而是前端来做,判断页面到底是显示哪个组件,清除不需要的,显示需要的组件。这种过程就是单页应用,每次跳转的时候不需要再请求html文件了。

单页面应用:多个url–>1个HTML,不利于SEO优化、首屏加载慢,不会出现白屏

为什么页面切换快?

页面每次切换跳转时,并不需要做html文件的请求,这样就节约了很多http发送时延,我们在切换页面的时候速度很快。

缺点:首屏时间慢,SEO差

单页应用的首屏时间慢,首屏时需要请求一次html,同时还要发送一次js请求,两次请求回来了,首屏才会展示出来。相对于多页应用,首屏时间慢。
SEO效果差,因为搜索引擎只认识html里的内容,不认识js的内容,而单页应用的内容都是靠js渲染生成出来的,搜索引擎不识别这部分内容,也就不会给一个好的排名,会导致单页应用做出来的网页在百度和谷歌上的排名差。

5、缺点:

不利于SEO优化
首屏加载慢
不支持IE 6 7 8

6、核心:

数据驱动
组件系统

7、引入方式:

1、cdn:<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
2、npm(推荐):npm i vue –save
3、脚手架

使用

1、el挂载点

    new Vue({// 挂载点会根据css选择器来选择对应的挂载位置// 如果匹配到多个挂载点,只有第一个生效,后面的不生效// 不要将vue挂载到html或者body上// 我们推荐使用id,直接挂载到这个id上,因为id具备唯一性el: "#app"})

2、data、methods

    new Vue({el:'#app',// data用来存放数据、变量data:{name:'孙尚香'},// methods用来存放函数methods: {// fn:function(){//   console.log(111);// }fn(){console.log(111);}}})

3、数据绑定

{{}} 优点:方便    缺点:不能识别标签,首屏会出现{{}}
v-html  优点:可以识别标签,首屏不会出现{{}}      缺点:写法麻烦
v-text  优点:首屏不会出现{{}}        缺点:不能识别标签并且写法麻烦

4、v-bind:

动态数据绑定

<img v-bind:src="imgSrc" v-bind:imgTitle="title">    //正常写法
<img :src="imgSrc1">   //简写

注意:1、v-bind: 不仅可以绑定已经存在的属性,还可以绑定自定义属性
2、v-bind: 可以简写成 “:”

5、v-model

双向数据绑定

//视图部分
{{name}}
<input type="text" v-model="name">
//模型部分
new Vue({el:'#app',data:{name:'妲己'}
})

6、v-if和v-show

//显示与隐藏
<p v-if="true">{{name}}</p>
<p v-show="true">{{name}}</p>区别:v-if采用的是惰性加载(根本就不加载这个DOM节点)。而v-show是添加了display这个样式。
使用场景:如果频繁切换的话建议使用v-show

7、v-else

v-else一定要紧挨着v-if

8、v-for

 <p v-for="(item,index) in arr" :key="index">{{item}}---{{index}}</p>

指令

v-html
v-text
v-bind: 动态数据绑定
v-model 双向数据绑定
v-if 条件渲染
v-else
v-show 条件展示
v-for

过渡动画的应用场景

1、条件渲染(使用v-if)
2、条件展示(使用v-show)
3、组件根节点
4、动态组件

面试题

1、vue与其它框架对比的优势和劣势?
答:优势:擅长处理数据的增删改差。劣势:不利于SEO优化、不支持IE6 7 8、首屏加载慢
2、mvvm框架是什么?它和其它框架(jquery)的区别是什么?哪些场景适合?
答:M-model模型 V-view视图 VM-view model视图模型,通过view model来改变,它是模型和视图的中间桥梁。mvvm擅长处理数据的增删改查,而jquery擅长处理动画
3、vue等单页面应用及其优缺点
4、说出至少4种vue当中的指令和它的用法
5、v-if 和 v-show 区别

vue基础 v-系列相关推荐

  1. 手摸手,带你用vue撸后台 系列一(基础篇) - 掘金

    完整项目地址:vue-element-admin 系列文章: 手摸手,带你用 vue 撸后台 系列一(基础篇) 手摸手,带你用 vue 撸后台 系列二(登录权限篇) 手摸手,带你用 vue 撸后台 系 ...

  2. Vue 系列一 之 Vue 基础

    Create by jsliang on 2018-11-8 13:34:30 Recently revised in 2019-1-12 19:23:17 Hello 小伙伴们,如果觉得本文还不错, ...

  3. Vue基础+vue2+vue3 大合集笔记

    系列文章目录 之前没跟对up主,vue基础没打好:跟着尚硅谷从头第二次学Vue,收获了很多并且记下来 万字笔记,平常开发用的多的都在这了 如果有出错的地方请多多指教! 文章目录 系列文章目录 vue概 ...

  4. 线程基础知识系列(三)线程的同步

    本文是系列的第三篇,前面2篇,主要是针对单个线程如何管理,启动等,没有过多涉及多个线程是如何协同工作的. 线程基础知识系列(二)线程的管理 :线程的状态,控制,休眠,Interrupt,yield等 ...

  5. 源码解读_入口开始解读Vue源码系列(二)——new Vue 的故事

    作者:muwoo 转发链接:https://github.com/muwoo/blogs/blob/master/src/Vue/2.md 目录 入口开始解读Vue源码系列(一)--造物创世 入口开始 ...

  6. Vue基础语法知识(自用,完整版)

    Vue基础语法知识 1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象 2.root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法 3.root容器中里的代码被称为 ...

  7. vue基础1--脚手架的使用与vue基础指令

    脚手架的使用与vue基础指令 安装 vue-devtools 安装vscode插件 1. Vue基本概念 1.1 Vue是什么 1.2 Vue学习的方式 2. @vue/cli脚手架 2.1 @vue ...

  8. Vue基础-vue指令

    一.vue基础-插值表达式 1.思考 1.以前改变标签内容,如何做? 2.用 Vue 有没有更简单的方式? 2.目的 在dom标签中, 直接插入内容 3.语法 又叫: 声明式渲染/文本插值 语法: { ...

  9. 2022前端知识整理:十、vue基础

    十.vue基础 2022前端知识整理:第十部分.vue基础,仅包含vue2.0相关知识,建议先完成html5.css3和JavaScript ES6之后再学习.部分图片未上传成功,稍后完善,请见谅. ...

  10. Vue基础-09-表单输入绑定

    Vue基础-09-表单输入绑定 Vue中想要操作表单的数据,无需再dom操作.比如登录.注册.添加 Vue中提供了一个指令v-model,可以表单的双向数据绑定 双向绑定 表单原始上面通过v-mode ...

最新文章

  1. Redis 官方可视化工具,功能真心强大!
  2. Keil5.15使用GCC编译器链接.a库文件
  3. linq查询语句转mongodb
  4. css 填坑常用代码分享
  5. h5执行php函数,值得一个的5个强大的HTML5API 函数
  6. 【正一专栏】轮回-从坚信去年骑士会逆转到今年坚定看好勇士横扫
  7. ElementUI 中日期选择器总结
  8. 交叉路口红绿灯控制程序linux,PLC十字路口的交通灯控制编程实例!
  9. 使用 create-react-app 构建 react应用程序
  10. 字符串的获取相关方法
  11. 面向对象基本原则-转载
  12. prim算法_数据结构 7.4.1 最小生成树 Prim
  13. ZZULIOJ部分题目解答
  14. jmeter进行http压力测试
  15. 热烈祝贺黄雪斌,魏巍新婚大喜
  16. 老罗如果输了整个民族都输了
  17. ECS云服务器详细配置
  18. app安全测试-OWASP ZAP 2.8 使用指南(一):安全测试基础及ZAP下载、安装
  19. 教你一招H5快应用快速回到首页
  20. 一起学时序分析之延迟与时钟偏斜和抖动

热门文章

  1. 白杨的第一篇CSDN博客
  2. DB SQL server应用 with 查询歌手歌曲总量大于13首,且浏览量大于100的曲目报表。
  3. 单用户模式,忘记root密码
  4. 【Python人工智能】Python全栈体系(十五)
  5. D. Who killed Cock Robin--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)...
  6. socket模块实现socket协议
  7. MySQL数据库总结1
  8. linux正确关闭防火墙命令,linux关闭防火墙命令
  9. Java中的三目运算符 详解
  10. mybatis 的懒加载原理