vue如何快速开发(前端vue项目经验)

dylinchen 1379 2022-11-30

本文目录一览:

解析如何学习Vue框架快速入门

Vue框架算是比较高级的框架,所以在使用过程中还需要JavaScript、JavaScript 2015、WebPack、Nodejs、npm、ESLint、JavaScript单元测试框架等其他知识和框架的使用方法。在学习Vue之前,最好先学习一下这些知识。由于Vue的中文文档比较完善,所以这里只介绍Vue框架的一些核心概念,详细的使用方法还得查看官方文档。

Vue的中文文档可以查看 。

Vue路由功能需要导入vue-router,它的中文文档可以查看 。

Vue的状态管理功能需要使用vuex,它的中文文档可以查看 。

如果需要更多Vue资料,可以查看awesome-vue,列举了很多Vue资源。

当然最简单和直接的还是看视频,到百度网盘上面搜索下,慕课网的vue2.0从基础到实践是我感觉非常好的一套视频,你对着做下,或者找个项目边做边学,能很快提高,另外iview是一个很不错的东西,等你学会了vue的基本应用,研究下iview封装好的component,就能作出很漂亮的网页了

7440b52b0d34df460dafb3514066ef88_20221105062010_95173.jpg


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: WebStorm设置快速编译运行的方法

WebSorm是一款优秀的前端开发工具,而Vue项目可以使用Node进行编译运行,平常我们可以通过命令行部署项目进行调试。

本文介绍设置Webstorm进行快速部署Vue项目。

第一步

点击启动快捷按钮旁边的向下小箭头,在列表中选择Edit选项:

第二步

打开启动设置页面后,点击左上角的加号添加新的运行方式:

第三步

在弹出的选择框中,选择node.js启动模式:

第四步

在新打开的设置页面中,在红色圈中的地方设置如图路径的文件:

至此设置成功,直接点启动按钮就可以部署项目。

以上这篇vue:

WebStorm设置快速编译运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持-

您可能感兴趣的文章:webstorm添加*.vue文件支持webstorm添加vue.js支持的方法教程webstorm中vue语法的支持详解webstorm和.vue中es6语法报错的解决方法详解Webstorm

新建.vue文件支持高亮vue语法和es6语法

Vue组件开发有哪些技巧

这次给大家带来Vue组件开发有哪些技巧,Vue组件开发的注意事项有哪些,下面就是实战案例,一起来看一下。

Vue 单文件组件开发

当使用vue-cli初始化一个项目的时候,会发现src/components文件夹下有一个HelloWorld.vue文件,这便是单文件组件的基本开发模式。

// 注册

Vue.component('my-component', {

template: 'pA custom component!/p'

})

// 创建根实例

new Vue({

el: '#example'

})

接下来,开始写一个dialog组件。

Dialog

目标对话框组件的基本样式如图:

根据目标样式,可以总结出:

dialog组件需要一个titleprops来标示弹窗标题

dialog组件需要在按下确定按钮时发射出确定事件(即告诉父组件确定了)

同理,dialog组件需要发射出取消事件

dialog组件需要提供一个插槽,便于自定义内容

那么,编码如下:

template

p class="ta-dialogwrapper"

p class="ta-dialog"

 p class="ta-dialogheader"

 span{{ title }}/span

 i class="ios-close-empty" @click="handleCancel()"/i

 /p

 p class="ta-dialogbody"

 slot/slot

 /p

 p class="ta-dialogfooter"

 button @click="handleCancel()"取消/button

 button @click="handleOk()"确定/button

 /p

/p

/p

/template

script

export default {

name: 'Dialog',

props: {

title: {

 type: String,

 default: '标题'

},

},

methods: {

handleCancel() {

 this.$emit('cancel')

},

handleOk() {

 this.$emit('ok')

},

},

}

/script

这样便完成了dialog组件的开发,使用方法如下:

ta-dialog

title="弹窗标题"

@ok="handleOk"

@cancel="handleCancel"

p我是内容/p

/ta-dialog

这时候发现一个问题,通过使用v-if或者v-show来控制弹窗的展现时,没有动画!!!,看上去很生硬。教练,我想加动画,这时候就该transition组件上场了。使用transition组件结合css能做出很多效果不错的动画。接下来增强dialog组件动画,代码如下:

template

transition name="slide-down"

p class="ta-dialogwrapper" v-if="isShow"

 // 省略

/p

/transition

/template

script

export default {

data() {

return {

 isShow: true

}

},

methods: {

handleCancel() {

 this.isShow = false

 this.$emit('cancel')

},

handleOk() {

 this.isShow = true

 this.$emit('ok')

},

},

}

/script

可以看到transition组件接收了一个nameprops,那么怎么编写css完成动画呢?很简单的方式,写出两个

关键class(css 的 className)样式即可:

.slide-down-enter-active {

animation: dialog-enter ease .3s;

}

.slide-down-leave-active {

animation: dialog-leave ease .5s;

}

@keyframes dialog-enter {

from {

opacity: 0;

transform: translateY(-20px);

}

to {

opacity: 1;

transform: translateY(0);

}

}

@keyframes dialog-leave {

from {

opacity: 1;

transform: translateY(0);

}

to {

opacity: 0;

transform: translateY(-20px);

}

}

就是这么简单就开发出了效果还不错的动效,注意transition组件的name为slide-down,而编写的动画的关键className为slide-down-enter-active和slide-down-leave-active。

封装Dialog做MessageBox

Element的MessageBox的使用方法如下:

this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {

confirmButtonText: '确定',

cancelButtonText: '取消',

type: 'warning'

}).then(() = {

this.$message({

type: 'success',

message: '删除成功!'

});

}).catch(() = {

this.$message({

type: 'info',

message: '已取消删除'

});  

});

看到这段代码,我的感觉就是好神奇好神奇好神奇(惊叹三连)。仔细看看,这个组件其实就是一个封装好的dialog,

接下来,我也要封装一个这样的组件。首先,整理下思路:

Element的使用方法是this.$confirm,这不就是挂到Vue的prototype上就行了

Element的then是确定,catch是取消,promise就可以啦

整理好思路,我就开始编码了:

import Vue from 'vue'

import MessgaeBox from './src/index'

const Ctur = Vue.extend(MessgaeBox)

let instance = null

const callback = action = {

if (action === 'confirm') {

if (instance.showInput) {

 instance.resolve({ value: instance.inputValue, action })

} else {

 instance.resolve(action)

}

} else {

instance.reject(action)

}

instance = null

}

const showMessageBox = (tip, title, opts) = new Promise((resolve, reject) = {

const propsData = { tip, title, ...opts }

instance = new Ctur({ propsData }).$mount()

instance.reject = reject

instance.resolve = resolve

instance.callback = callback

document.body.appendChild(instance.$el)

})

const confirm = (tip, title, opts) = showMessageBox(tip, title, opts)

Vue.prototype.$confirm = confirm

至此,可能会疑惑怎么callback呢,其实我编写了一个封装好的dialog并将其命名为MessageBox,

它的代码中,有这样两个方法:

onCancel() {

this.visible = false

this.callback (this.callback.call(this, 'cancel'))

},

onConfirm() {

this.visible = false

this.callback (this.callback.call(this, 'confirm'))

},

没错,就是确定和取消时进行callback。我还想说一说Vue.extend,代码中引入了MessageBox,

我不是直接new MessageBox而是借助new Ctur,因为这样可以定义数据(不仅仅是props),例如:

instance = new Ctur({ propsData }).$mount()

这时候,页面上其实是还没有MessageBox的,我们需要执行:

document.body.appendChild(instance.$el)

如果你直接这样,你可能会发现MessageBox打开的时候没有动画,而关闭的时候有动画。解决方法也很简单,

appendChild的时候让其仍是不可见,然后使用类这样的代码:

Vue.nextTick(() = instance.visible = true)

这样就有动画了。

总结

通过transition和css实现不错的动画。其中,transition组件的name决定了编写css的两个关键类名为[name]-enter-active和[name]-leave-active

通过Vue.extend继承一个组件的构造函数(不知道怎么说合适,就先这样说),然后通过这个构造函数,便可以实现组件相关属性的自定义(使用场景:js调用组件)

js调用组件时,为了维持组件的动画效果可以先document.body.appendChild 然后Vue.nextTick(() = instance.visible = true)

vue是什么 ?怎么用?

vue是一个视频剪辑软件。

在我们制作(自行拍摄之前)可以来设置拍摄时候的色调滤镜,拍摄的时长,这些拍摄的视频,可以直接用到我们要制作的剪辑小视屏当中。调用手机里的小视屏、可以给视频加上LOGO、在发送前进行预览。

1、首先打开APP后是是这样的界面,呈现出来的是一个拍摄的样子,可以选择拍摄现有的。

2、然后,打开右下角,看到的就是剪辑视频的工具,可以从相册里选择照片。

3、这里可以把多个视频或者图片剪辑在一起,但是图片要与图片归在一起,视频要与视频归在一起才能剪辑。

4、接着,可以选择把几段视频见在一起,有4、6或者是自由选择。

5、然后可以在剪辑完成后,把视频后bgm改变一下,可以在视频的音乐库里选择。

6、最后就可以保存了,可以把视频保存在手机里,或者是分享到朋友圈、微博等社交平台。

扩展资料

随着手机摄像头的发展,越来越多的人开始使用手机拍照和摄像。摄像一般来说要比拍照门槛高,但是视频传播的信息量又远大于照片。VUE 就诞生在这样的背景下,希望用拍照一样简单的操作,帮助用户在手机上拍摄精美的短视频。

分镜头:通过点按改变视频的分镜数实现简易的剪辑效果,而剪辑能够让视频传达更多的信息 ;

实时滤镜:由电影调色专家调制的12款滤镜供选择,切换至前置摄像头会出现自然的自拍美颜功能;

贴纸:支持40款手绘贴纸,还可以编辑贴纸的出现时间。

自由画幅设置:支持1:1、16:9、2.39:1 三种画幅的视频拍摄

分享:支持分享至社交网络。

参考资料:百度百科:VUE

vue项目如何开发,后期容易移植成app

Vue是前端快速开发框架,Javascript+手机UI,就可以迅速开发网页应用(WebApp)

一般情况下,作为演示网站、微信后台等等,也够用了

Weex作为一次开发,三端可用(Web、安卓、IOS),应该不错,不过现在还没正式版

偶尔碰到HBuilder这个国人工具,能直接将WebApp(HTML+CSS+javascript),打包成原生安卓App,那就试试吧

Web应用打包成手机App,重点考查:

流畅程度

功能完善度

开发便捷度

。。。

步骤如下:

开发Vue WebApp

HBuilder引入第一步的WebApp

真机调试

打包成原生App

App安装到手机


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【python爬虫】第7章——验证码处理
下一篇:小程序技术要求(小程序技术要求是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~