欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VUE的简单介绍与学习

程序员文章站 2022-03-03 19:49:31
一、VUE的核心是“组件系统”以及“数据驱动”:个人认为数据驱动主要是代替原生js中的dom操作,如document.getElementById(),这样可以让我们更快速的开发;组件系统在使用中主要的作用是可以“复用”,即一个组件多次使用,在实际开发中,你使用组件后,你会发现,你的代码也会变得清晰,更易读。二、vue的全家桶:vue vuex(状态管理) vue-router(路由) axios vue-cli(脚手架)基本介绍一下:vuex:即状态管理,我们可以理解为“全局变量”......

一、VUE的核心是“组件系统”以及“数据驱动”:

个人认为数据驱动主要是代替原生js中的dom操作,如document.getElementById(),这样可以让我们更快速的开发;组件系统在使用中主要的作用是可以“复用”,即一个组件多次使用,在实际开发中,你使用组件后,你会发现,你的代码也会变得清晰,更易读。

二、vue的全家桶:vue  vuex(状态管理)  vue-router(路由)  axios  vue-cli(脚手架)

基本介绍一下:

vuex:即状态管理,我们可以理解为“全局变量”,使用vuex后,其state里的可以在整个项目中使用,但是尽量能不用就不用

vue-router:路由,在spa(单页面)中显得尤为重要,主要进行页面指定位置的切换,与component(组件)配合使用

axios:通俗来讲,你可以理解为ajax异步,与后台进行数据交互是用到

vue-clic:脚手架没有什么好说的,用来快捷开发vue项目的

三、vue项目的搭建:

安装:
1、npm install -g @vue/cli    //脚手架
2、vue --version        //安装后可以查看版本
3、npm install -g @vue/cli-service-global    //vue脚手架的依赖

创建项目:
控制台创建项目:
    vue create 项目名
    接下来选择默认即可
图形化界面创建项目:
    vue ui   将图形界面调出
    创建项目即可,同样也是使用默认

运行项目:
    npm run serve

提示:如果想要改变指令,可以在package.json中“script”中修改

四、接下来就讲一些经常使用的知识:

1、组件component:

注意:组件中的data必须使用通过方法返回的对象

全局定义组件:

Vue.component('',{

//该对象与vue实例中的基本一致

//注意:

data:function(){

              return  {}

        }

})

局部定义组件:

在vue实例中定义components属性,该属性与data、methods同级

new Vue({

data:{}

components:{

"组件名":组件对象

}

})

2、watch侦听器:

作用:主要是用来监听data中定义的属性,或者说侦听已有的“值”的变化

什么时候使用?

一般来讲,当该值影响了多个值的时候使用watch

data:{

mess:'这是watch侦听的属性'

},

watch:{

"mess":function(newValue,oldValue){

     //当mess发生变化就会调用该方法

}

}

3、既然讲了watch就少不了computed(计算属性):

watch与computed基本相同,一般来说更推荐使用计算属性,因为计算属性可以缓存,二侦听器不行,注意特殊情况特殊对待

watch与computed也有不同点,computed计算属性是自己新建的,计算属性可以有两个方法,即get、set,默认是get

computed:{

"newMess":function(){

//默认get

},

"newInfo":{

get:function(){},

set:function(newVal){}

}

}

4、路由router:

const router = new VueRouter({

//路由配置项

routes:[{

    path:"路径",

    name:"别名",

    component:"组件",//该路径跳转后显示的组件

    children:[{   //主要在路由嵌套时使用  --- 子路由

    //子路由的配置项与routes相同,值得注意的是,子路由的path中开头不要有  ‘/’

    }]

}]

})

5、动态路由:

作用:可以用来传值

动态路由的定义:在path路径中加上   :data    data是自己命名的属性名

path:'/login/:data'

data的获取:

----可以在组件中可以通过  this.$route.params  来得到这个“键值对”

----可以通过props:['data']获取,但是要在对应的路由配置项中定义  props:true,才能获取

另一种传值方法:url,/login?name=zs     获取值:this.$route.query  得到"键值对"

6、自定义指令directive:

作用

Vue.directive('指令名',{

//可以定义bind,inserted钩子函数   里面有一个参数el(当前对象)

})

//也可以定义局部:

directives:{

"dir":{}

}

7、父组件给子组件传值:

主要是通过在子组件中定义prop:[]  数组中放属性,在子组件中使用

如何传值:

<子组件 :prop中的属性='父组件的值,如data'></子组件>

8、子组件使用父组件的方法:

主要通过在子组件中定义的methods中使用this.$emit('用来接收父组件方法的属性',参数...) 

$emit中从第二个值开始,便是父组件方法的参数

如何使用:

<子组件 @接收父组件的方法的属性="父组件方法"></子组件>

在子组件中便可以使用定义了this.$emit方法的method了

9、兄弟组件传值:

一般使用bus传值,即定义一个bus.js文件,里面写两条代码:

import Vue from 'vue'

export default new Vue()

在子组件中引入bus,然后通过:

bus.$emit("方法",值)   ----传递值

bus.$on('方法',function(参数))  ----接收值

另一种方法:子组件---->父组件----->子组件

10、vuex状态管理:

五种状态:

state:  存储状态

getter:  获取状态,可以理解为vue实例中的计算属性

mutation:  提交状态更新的唯一方法,由于在该方法中无法使用this关键字,所以通过自带参数state,调用“状态”

action:与mutation一致,但是action是通过mutation提交状态更新,一般在action中写异步

model:分割

在组件中如何使用状态:

获取 {{$store.getters.getCount}}   this.$store.getters.getCount

提交:(在方法中调用)

注意:commit只有两个参数,如想要传递多个参数,可以通过对象或数组
重要:commit只会调用mutations中的方法
this.$store.commit('mutations方法', '方法的参数')

注意:dispatch只有两个参数,如想要传递多个参数,可以通过对象或数组
重要:dispatch只会调用actions中的方法
this.$store.dispatch('actions方法','方法的参数')

11、一些常用的指令:

v-model:数据双向绑定

v-if:判断

v-for:循环

v-on:绑定方法   简写 --- @

v-bind:绑定属性   简写 --- :

v-show:判断

v-if 和 v-show的区别:v-if 是否渲染元素,v-show是通过css属性display控制是否显示

 

VUE使开发变得更快捷、更方便,目前来说前端的三大框架

 

angular、react、vue,

企业最普遍使用的是vue和react,angular比较适用于大型项目,

大多数前端开发者都会掌握其中两个框架。

以上就是vue的简单介绍,第一次发文,欢迎指点

 

 

 

 

 

 

本文地址:https://blog.csdn.net/weixin_44066182/article/details/107295734