【零基础】1小时入门Vue(建议收藏),2024年最新作为Web前端程序员应该怎样去规划自己的学习路线

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

/* 实例化Vue对象中的data参数 */

data:{

name:“ccy”,

job:“web开发”,

personalBlobTag:“个人博客首页

}

{{ greeting() }}

Name:{{name}}

Job:{{job}}

效果:变量personalBlobTag被解析成html代码并渲染

在这里插入图片描述

v-model:双向绑定

通常一方输入,另一方显示,两者内容始终一致

例子: 将input标签的value值与name变量进行双向绑定:

name的初始值为“ccy”,因此input框默认值为“ccy”;当input输入了其他内容,name也发生改变。label标签负责实时显示name变量

双向绑定


效果:

在这里插入图片描述


事件

==

监听事件


基本使用:

  • 使用v-on指令;

  • 后面跟上事件名和处理函数名,处理函数可以不加括号,但传参时必须加括号

  • v-on指令可以省略成@:

加一岁

减十岁

<button @click=“reduce(1)”>减一岁

例子:

点击事件

不传参:当点击按钮时,触发add / reduce函数,让年龄加1 / 减1

event初识

加一岁

<button @click=“reduce”>减一岁

My age is {{age}}.

new Vue({

el:“#vue-app”,

data:{

age : 18

},

methods:{

add:function(){

this.age ++;

},

reduce:function(){

this.age–;

}

}

})

效果:点击“加一岁”,age就增加一岁;点击“减一岁”,age就减一岁

在这里插入图片描述

传参:

event初识

<button @click=“add(1)”>加一岁

<button @click=“add(10)”>加十岁

减一岁

My age is {{age}}.

new Vue({

el:“#vue-app”,

data:{

age : 18

},

methods:{

add:function(value){

this.age +=value;

},

reduce:function(){

this.age–;

}

}

})

效果:

在这里插入图片描述

鼠标事件

event初识

{{x}},{{y}}

new Vue({

el:“#vue-app”,

data:{

x:0,

y:0

},

methods:{

showXY:function(event){

this.x = event.offsetX;

this.y = event.offsetY;

}

}

})

效果:鼠标在div#show区域移动,显示鼠标相对这个div的XY坐标,初始值为(0,0)

在这里插入图片描述

事件修饰符


常用的有:

  • 阻止冒泡:.stop
  • 取消默认事件:.prevent
  • 只有一次生效:.once
  • 事件修饰符可以串联使用,如.stop.prevent,功能叠加

例子:

取消a标签的默认事件,即点击a标签后页面没有跳转:

<a @click.prevent href=“https://blog.csdn.net/qq_43523725”> 我的csdn博客主页

按键修饰符


常用的有:

  • 匹配回车触发:.enter
  • alt+回车触发:.alt.enter
  • 匹配空格触发:.space

例子:

event初识

<input type=“text” @keyup.enter=“logName”>

<input type=“text” @keyup.enter=“logAge”>

/* methods部分代码 */

logName:function(){

console.log(“姓名已输入完成!”)

},

logAge:function(){

console.log(“年龄已输入完成!”)

}

效果:

输入第一个input框,键盘敲击回车键后,触发logName函数,控制台输出“姓名已输入完成!”,

输入第二个input框,键盘敲击回车键后,触发logAge函数,控制台输出“年龄已输入完成!”

在这里插入图片描述


动态绑定class和style

===============

绑定class


对象语法

使用v-bind指令绑定class,class的值为对象{class名:true / false},true时该class对应的功能生效,false时该class不生效

例子:

动态绑定CSS样式

new Vue({

el:“#vue-app”,

data:{

changeColor:true

}

})

.show {

width: 100px;

height: 100px;

background-color: red;

border: 2px solid #000;

}

.changeColor{

background-color: royalblue;

}

效果:

div.show原本的背景颜色是红色的(data中changeColor:false

在这里插入图片描述

当changeColor生效时,背景颜色为蓝色(data中changeColor:true

在这里插入图片描述

数组语法

也可以给class传一个数组,应用一个class列表,[class1,class2,…],如:

data: {

changeColor: ‘changeColor’,

addRadiusClass: ‘change-radius’

}

/* change-radius是类名,需要加上引号 */

.changeColor{

background-color: royalblue;

}

.change-radius {

border-radius: 10px;

}

效果:show、 changeColor、 change-radius均生效

在这里插入图片描述

还可以在数组里嵌套使用对象语法

data:{

changeColor:true,

addRadiusClass:“change-radius”

}

/* changeColor使用的是对象语法,值为布尔值

addRadiusClass使用的是数组语法,值为类名 */

效果同上:

在这里插入图片描述

绑定内联样式style


用v-bind指令将style与设定好的样式绑定起来,如:

动态绑定style

// 样式为:背景蓝色,圆角10px

data:{

styleObject:{

backgroundColor:“blue”,

borderRadius:“10px”

}

}

效果:

在这里插入图片描述


条件渲染

====

v-if指令


  • v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 true 值的时候被渲染
  • v-els-if指令充当 v-if 的“else-if 块”,可以连续使用
  • v-else指令,即不匹配前述的条件时执行操作

例子:

条件渲染

这是 A

这是 B

这是 C

Not A/B/C

data:{

type:“A”

}

效果:当前type为A,只显示”这是A“的div,其他div均不被渲染

在这里插入图片描述

v-show指令


当v-show指令的值为true时,显示该标签及内容

v-show指令

hello

data:{

isShow:true

}

效果:此时isShow为true,显示该标签

在这里插入图片描述

当isShow为false时,将该标签display:none

在这里插入图片描述

一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。

因此,如果需要非常频繁地切换,则使用 v-show较好;如果在运行时条件很少改变,则使用 v-if 较好。


列表渲染

====

v-for指令


遍历数组or对象or整数,将其中的值遍历出来

列表渲染

    • {{ item }}
      • {{ item }}
        • {{ item.name }} -- {{item.summarize}}
        • data:{

          arrItems:[“Vue”,“React”,“Angular”],

          objItems:{

          “name”:“ccy”,

          “job”:“web开发”,

          “descript”:“under studying”

          },

          jsonItems:[

          {“name”:“Vue”,“summarize”:“渐进式JavaScript框架”},

          {“name”:“React”,“summarize”:“用于构建用户界面的JavaScript库”},

          {“name”:“Angular”,“summarize”:“基于TypeScript构建的开发平台”}

          ]

          }

          效果:

          在这里插入图片描述


          案例

          ==

          效果:点击按钮,显示不同的图片

          在这里插入图片描述

          分步解析:

          4张图片的展示

          技术点:采用动态绑定style

          专业技能

          一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题

          • HTML+CSS

          • JavaScript

          • 前端框架

          • 前端性能优化

          • 前端监控

          • 模块化+项目构建

          • 代码管理

          • 信息安全

          • 网络协议

          • 浏览器

          • 算法与数据结构

          • 团队管理

          最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。

          其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等

          由于文章篇幅有限,仅展示部分内容

          网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

          需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
          img

          一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
          atermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNTIzNzI1,size_16,color_FFFFFF,t_70#pic_center)


          案例

          ==

          效果:点击按钮,显示不同的图片

          在这里插入图片描述

          分步解析:

          4张图片的展示

          技术点:采用动态绑定style

          专业技能

          一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题

          • HTML+CSS

          • JavaScript

          • 前端框架

          • 前端性能优化

          • 前端监控

          • 模块化+项目构建

          • 代码管理

          • 信息安全

          • 网络协议

          • 浏览器

          • 算法与数据结构

          • 团队管理

          最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。

          其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等

          由于文章篇幅有限,仅展示部分内容

          网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

          需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
          [外链图片转存中…(img-eqhgNLWI-1713439689055)]

          一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

        • 24
          点赞
        • 30
          收藏
          觉得还不错? 一键收藏
        • 0
          评论

        “相关推荐”对你有帮助么?

        • 非常没帮助
        • 没帮助
        • 一般
        • 有帮助
        • 非常有帮助
        提交
        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

        当前余额3.43前往充值 >
        需支付:10.00
        成就一亿技术人!
        领取后你会自动成为博主和红包主的粉丝 规则
        hope_wisdom
        发出的红包
        实付
        使用余额支付
        点击重新获取
        扫码支付
        钱包余额 0

        抵扣说明:

        1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
        2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

        余额充值