首页>>后端>>java->vue前置知识(vue前端)

vue前置知识(vue前端)

时间:2023-11-30 本站 点击:1

【Vue】vue基础知识一(本地数据操作)

javaScript 框架

简化Dom的操作

响应式数据驱动

简单的vue程序:

1.导入开发版本的vue.is

2.创建vue实例对象,设置el属性和data属性

3.使用简介的模版语法把数据渲染到页面上

vue实例可以使用双标签挂载,不能使用HTML和BODy来进行

v-text . 设置标签的文本值 (覆盖标签中全部的内容 {{}} el只会替换相应的值)

v-html (1.内容中有html结构会被解析成标签 2.设置元素的innerHTML)

注:解析文本使用 v-text . 解析hml使用v-html

v-on(1.为元素绑定事件,2.事件名不需要写on,3.指令可以简写@ 4.绑定的方法定义在methods属性中5.方法内部可以通过this关键字访问定义data中的数据)

计数器(创建实例v-on事件和方法绑定,实时更改数据)

v-show(1.根据元素的真假切换元素的显示状态 2.原理是修改元素的display实现元素的隐藏)

v-if(1.根据表达式的真假切换元素的显示状态 2.本质是操作dom 3.表达式的值是true时,元素存在于dom树中,为否是从dom树中移除)

注:v-show和v-if的区别:

v-show:只是改变了display属性的操作

v-if:改变的是dom数

实际情况 频繁切换的使用v-show

v-bind (1.为元素绑定属性 2.完整写法v-bind:属性名 3.简写的话可以只写:属性名)

图片切换(1.用数组来存放元素 2.用v-on来绑定事件 3.用v-bing来修改元素的属性)

v-for(1.根据数据生成列表 2.v-for长和)

v-on (补充)(1.时间绑定的方法写成函数调用的形式,可以传入自定义参数

2.定义方法时定义形参数来接受传入的实参

3.通过.修饰符可以对事件进行限制)

例如:@keyup.enter

v-model(1.便捷的设置和获取表单元素的值

2.绑定的数据会和表单元素值相关联

3. 表单的 数据=绑定的数据)

记事本实战演练(1.增加 2.删除 3.隐藏 4.清空 )

注:shift()函数删除的是数组中的第一个元素 使用splice删除指定的某个元素

Vue基础篇

内容简介:

1)Vue指令

2)computed和watch

3)生命周期钩子

4)组件间的传参

5)插槽

6)修饰符

7)nextTick()

前端三大框架:

Vue:尤雨溪开发

React:Facebook主导开发

Angular:谷歌主导开发

为什么选择Vue?

1.国内Vue的市场份额占比多

2.简单易上手,非常适合前端开发初学者学习

前置知识:

1.HTML、CSS和JS基础

2.了解Node和npm

3.webpack(可选,vue-cli已经封装了打包功能)

使用Vue的两种方式:

1.直接script标签引入vue.js文件

2.基于Node环境创建Vue项目(使用vue-cli初始化一个Vue项目)

前端框架与库的区别

• jquery 库 - DOM(操作DOM) + 动画+ ajax请求

• 框架 - 全方位功能

一、指令

指令(Directives)是带有 v- 前缀的特殊属性。

插值表达式和v-text指令被直接解析为字符串;元素绑定 v-html 指令后,解析了msg 变量值里面的html标签,输出真正的html元素。

v-model也可用在自定义组件上。

5.v-for(列表渲染)

使用v-for时应绑定key属性,key属性可以用来提升v-for渲染的效率

Vue 将被侦听的数组的变更方法进行了包裹,所以它们也将会触发视图更新。这些被包裹过的方法包括:

push()

pop()

shift()

unshift()

splice()

sort()

reverse()

由于 JavaScript 的限制,Vue 不能检测数组、对象的以下变化:1. 利用索引直接设置数组的某一项 2. 对象属性的添加或删除

二、computed和watch

三、生命周期钩子

什么是Vue生命周期?

Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程。

总共分为8个阶段:创建前/后,挂载前/后,更新前/后,销毁前/后。

1)beforeCreate

此时实例上只有一些生命周期函数和默认的事件,此时data computed watch methods上的方法和数据均不能访问。

2)created

此时可以读取data的值,并可以对其进行操作,把方法、计算属性也都挂载到了实例。但是依旧不能访问el,不能获取到DOM元素。

在这个钩子函数中,我们可以进行http请求,把请求到的数据储存在data中。

3)模板编译,把data里面的数据和vue语法写的模板编译成HTML

4)beforeMount

将编译完成的HTML挂载到对应虚拟DOM,此时还未挂载到页面上

5)mounted

编译好的HTML已挂载到页面上

6)beforeUpdate和updated

数据更新时调用,通常使用计算属性或侦听器取而代之

7)beforeDestroy

销毁所有观察者、组件及事件监听

8)destroyed

组件已经完全销毁,组件中的数据、方法、计算属性、过滤器等都已不可用。

四、组件间的通信

1.父子组件间的通信

父子组件通信可以总结为props向下传递,事件向上传递。

单向数据流:父级 prop 的更新会向下流动到子组件中,但反过来不行。

每个Vue实例都实现了事件接口:子组件使用 this.$emit(eventName,optionalPayload) 触发自定义事件。父组件在使用子组件的地方直接用v-on来监听子组件触发的事件。

父组件通过ref直接调用子组件中的方法。

子组件调用父组件中的方法:

1)子组件中通过 this.$parent.fatherMethod() 来调用父组件的方法

2)子组件用$emit向父组件触发一个事件,父组件监听这个事件

3)父组件通过props把方法传入子组件中(type: Function),在子组件里直接调用这个方法

2.兄弟组件间的通信

其中一种方法是让父组件充当两个子组件之间的中间件(中继);

另一种就是使用EventBus(事件总线),它允许两个组件之间直接通信,而不需要涉及父组件:

Vue原型上的方法:

五、插槽

3)作用域插槽

使用场景:

在使用ElementUI组件库的el-table组件时,表格的编辑和删除操作要用到作用域插槽。因为el-table组件,就是当前组件的子组件。通过作用域插槽很容易拿到当前表格行的索引和内容,这样就可以很方便地进行编辑、删除的操作。v-slot指令是Vue2.6之后,作用域插槽的新语法,旧语法(slot-scope)现在还保留,但3.0之后会移除。

六、修饰符

2.事件修饰符

vue提倡的是在方法中只有纯粹的数据逻辑,而不是去处理 DOM 事件细节,所以提供了事件修饰符用于DOM的事件处理。

3.按键修饰符

七、nextTick()

定义:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。(当数据更新了,在dom中渲染后,自动执行nextTick的回调)

应用场景:需要在视图更新之后,基于新的视图进行操作。

Vue基础知识

数据双向绑定,组件化,单文件组件

全局api: vue.extend 、 vue.set

实例选项: new Vue() 、 el 、 data 、 compents 都是vue实例选项

实例属性和方法: vm.$on 、 vm.$data 、 vm.$destroy() 在$都是vue的实例和方法

指令: directive

内置组件: components/compontents 、 keep-alive/keep-alive 、 router-view/router-view

数组中不可用的方法:slice,concat;

直接修改数组list[i] = 值,不可以这样直接修改;

Vue.set(数组,索引,{值}) vue的全局方法set来更改数组的某一项的值

标签属性和条件渲染

标签属性: v-bind:href='link"; 等效于 :href="link" 动态绑定;

条件渲染: v-if 、 v-else 、 v-show ;

数据绑定: {{...}} 、 v-html (原始-HTML)、 v-text ;

事件绑定-内置事件绑定,自定义事件绑定

v-on:click="run" 等效于 @:click="run" 事件绑定;

自定义事件绑定: 父组件自定义事件

my-compented @my-event='toggle'/my-compented

子组件触发 my-event 自定义事件; this.$emit('my-event', opation);

父组件执行toggle 函数;

计算属性和数据监听

computed选项 -计算属性:根据我们调用属性来跟新,调用的属性没有变更,我们computed选项里面的方法读取的是缓存;

页面内容响应数据v-once

如果你需要页面内容响应数据的变化,就不加v-once。

如果你需要页面内容渲染后,不随数据的变化而变化,就加上这个。

对于一些固定不变的组件,在调用时我们可以加上v-once,只在第一次渲染执行,保存数据在内存中,后面再调用直接从内容中提取,提高执行效率。

应用

组件的通信

p:is = "动态的组件名"/p 等同于 动态的组件名/动态的组件名 动态绑定组件

注:Vue有个单项数据流的概念:即父组件传递给子组件的参数,子组件不能直接修改;防止引用类型参数被修改后,如果父组件中其他地方也使用了此参数会受到影响。

子组件 props 接受的两种形式:

数组: ['first-name','two-name'] ,从父组件传递两个属性值;

动态展现: {{firstName}}

对象:

slot:插槽

父组件插件里面定义的内容放到子组件 slot 中:

子组件

vue高级功能--过渡和动画

自定义指令:

使用 vue-cli的优势:

成熟的vue项目架构设计;

本地测试服务器;

集成打包上线方案 webpack

npm install vue-cli -g :全局安装vue-cli

vue init webpack my-project :初始化项目

npm install 安装项目依赖

npm run dev :在localhost启动测试服务器;

npm run bulid :生成上线目录(部署)

a、安装 vue-router

b、配置路由

6、关闭eslint

dev模式下,默认会做eslint检测,若要关闭,打开 config/index.js ,设置 useEslint: false ,${}占位符,多行字符串

7、生命周期

8、支持es6

es6中很多新特性很好用class、promise、then、catch、...(数组转换符号)、函数设置参数默认值等

a、安装babel-polyfill

b、在入口main.js文件当中引入:

c、找到build文件夹下的webpack.base.conf.js

文章参考: 慕课网-欧米雪儿lyy

找前端工作不太顺利,到慕课、腾讯课堂上自学了Vue,好像还是不太顺,有大佬路过支支招吗?

其实找一份前端工作,只会Vue是远远不够的,原生JS,移动端开发如果你不够熟练,是非常吃亏的。

物联网+时代,很多场景都是线上线下相互结合,导致移动端用户量激增。另一方面,以Angular,React,Vue为主的MVVM框架和NodeJS,ES6等前端新技术的出现和快速迭代,让前端得到前所未有的发展空间。    

很多同学面试的过程中,被问到原生知识或底层原理,就答非所问。虽然使用Vue很久,但其中的响应式数据原理,Vue路由懒加载原理,Vue生命周期,这些理论知识却十分空白。更重要的是,面试官考察的,不仅是理论知识,还有你的编码习惯,拆分问题,解决问题的思维方式。我们要做的,就是夯实原生知识,设计模式,从前端走到后端,时刻关注前端动态,才能成为一名合格的前端开发工程师。

前文摘自以下链接的文章《学习Vue你需要你知道的前置知识》,有兴趣可以点进去看看还有很多技术干货,个人学前端觉得还挺有帮助的。

前端vue是什么?

Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架。它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我们能够快速地上手并使用Vue.js;同时比起 React + Redux 相对复杂的架构,Vue.js 更加轻量级也更加容易上手,是初创项目的首选前端框架。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。

今天带领大家来了解一款渐进式JavaScript框架——Vue。

近年来,前端开发领域,旧浏览器逐渐淘汰,移动端开发需求逐年增加,前端交互越来越多,功能越来越复杂。架构从传统后台MVC向REST API + 前端MV* 迁移。

MV*相当于MVC即:

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示前端的学习都是需要不断的学习,学一天停一停相当于白学,学习效果很差,如果你想有人一起学习可以来这个扣裙,首先是132 中间是667最后是127 都是零基础的同学,大家相互鼓励 共同努力 只是学着玩就不建议来了!!!数据(数据库记录)。

Controller(控制器)处理输入(写入数据库记录)。

MVP

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示数据(数据库记录)。

Presenter(表示器)负责逻辑处理业务。

与MVC差别在于:

1、View与Model完全隔离。

2、Presenter与View的具体实现技术无关。

3、可以进行View的模拟测试。

MVVM(Vue就是一种MVVM框架)

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示数据(数据库记录)。

ViewModel(观察者)负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。

优点:高内聚,低耦合(可重用性、可移植性)。

Vue是一款数据驱动+组件化的前端开发框架,对比于Angular和React,Vue.js更轻量,gzip后大小只有26K (Angular 56K,React 44K),同时更易上手,学习曲线平稳,吸收两家之长,借鉴了angular的指令和react的组件化。


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