一、vue基础语法

1.1 Vue新建项目语法

基本语法:

vue.js引入


1.2、Vue实例化,代码如下:
 


    
    
    
    Document
    


    
{{mess}}
1.3、循环列表

语法如下:


 

    
    
    
    Document
    
 

    
  • {{item}}
1.4、计数器Demo实例,代码入如下:【按钮事件的使用语法】



    
    
    
    计数器
    


    
当前数字为:{{num}}

总结:使用了新的指令与新的属性:

v-on:click:新的指令 事件监听

methods:{ .....} 新的属性 定义事件

1.5、Vue中的MVVM模式

M:Model V:View VM:ViewModel




    
    
    
    计数器
    

 
    
    
当前数字为:{{num}}
1.6 、创建vue实例传入的Options

el :string 类型

作用:决定之后管理那个Dom对象

data: object | Function 在组件中data必须是个函数

作用:实例对应的数据对象,以及数据对象初始化

methods: function 方法 里面是多个方法或函数

作用:定义属于Vue的一些方法 ,可以在其他地方低啊用,也可以在指令中使用,比兔 v-on:click ="方法名"。

1.7、Vue 的生命周期

生命周期的定义:一个事务从诞生到消亡的整个过程。

生命周期,如图:

[图片上传失败...(image-cc71ce-1628662180264)]




    
    
    
    Document
    


    

总结:

beforeCreate:创建vue实例前用的钩子函数

created:创建vue实例后用的钩子函数

mounted:将编译好的html页面挂载到页面完成后执行的沟子函数

...........详细请看上图。

1.8、基本语法:

插值操作语法,代码如下:




    
    
    
    Document
    


    
{{mess}},小明
{{FirstName+''+lastName}}
{{counter*2}}

总结:

Mustache 语法 :也是双大括号语法,不仅仅可以写变量,也可以写表达式

1.9、v-once 指令

代码如下:




    
    
    
    Document
    


    
    

{{mess}}

总结:

v-once:数据初始化后,不允许修改数据

2.0、V-html指令

代码如下:


 

    
    
    
    Document
    
 

    
    

2.1、v-text 指令

语法如下:


 

    
    
    
    Document
    
 

    
    

总结:v-text:显示纯文本信息,不经常使用,如果h2 标签中有内容,它将会覆盖标签中的内容。

2.2、v-pre指令 【用的比较少】

代码如下:


 

    
    
    
    Document
    
 

    
    

{{mess}}

{{mess}}

总结:v-pre指令:是将{{mess}}字符串显示出来,不需要vue进行解析

2.3、v-cloak 指令:

代码如下:


 

    
    
    
    Document
    
 

    
    

{{mess}}

总结:v-cloak指令: 【不经常使用】 作用:在vue解析之前有一个属性v-cloak指令; 在vue解析后就没有这个v-cloak指令

2.4、v-bind 指令

代码如下:

 
 

    
    
    
    Document
    
 

    
    
图片 图片

总结:v-ding指令:动态绑定属性,也就是请求服务器, 响应后将返回的数据绑定到属性上,比如图片 src属性等等 全写:v-bind:属性="" 缩写: :属性:=""

2.5、v-bind 绑定 class

代码如下:


 

    
    
    
    Document
    
 


    
    
{{mess}}
{{mess}}
{{mess}}

总结:1)、在vue创建的实例中可动态加载视图中的样式。

2)、绑定对象语法 {类名:bool值} bool值为true,加载 类名的样式

如果div中有两个class,一个是自定义的class,一个是动态绑定的class ,vue内部会将这两个class进行合并。

2.6、v-bind 动态绑定class 用方法动态绑定样式

使用方法动态绑定样式, 代码如下:

                 Document         
{{mess}}
2.7、v-bing 动态绑定style样式表
对象语法代码如下:

 

    
    
    
    Document
    
 
    
{{mess}}

总结:将style样式文件写成一个对象放在方法中,直接绑定style样式。

2.8、计算属性的使用 【computed】

代码如下:


 

    
    
    
    计算属性
    


全名: {{fullName}}
书的总价格:{{sumPrice}}

总结:计算属性是有缓存的,一次用到调用后,二次用到后就不需要调用。

2.9、计算属性setter与getter使用

代码如下:




    
    
    
    Document
    


    
{{mess}}

总结:定义的计算属性,其实是个对象,而这个对象中有两个函数,一个set函数,另一个是get函数,set函数获取新值并赋值给其他变量,而get方法是返回值;一般开发过程中不使用set函数,只使用get函数,也就是只读,不可编辑。

3.0、计算属性与methods的对比

代码如下:

                 Document         
fullName计算属性: {{fullName}} fullName 计算属性: {{fullName}} fullName 计算属性: {{fullName}} fullName 计算属性: {{fullName}}
getfullName 方法:{{getfullName}} getfullName 方法:{{getfullName}} getfullName 方法:{{getfullName}} getfullName 方法: {{getfullName}}

总结:计算属性有缓存机制而methods方法没有缓存机制,以上面的代码为例,计算属性如果值没有发生的变的话,只会输出1次console.log("fullName"),而methods方法会输出4次 console.log("getfullName"),也就是说计算属性的性能要比方法高。

3.1、块级作用于 let与var ES6

总结:

ES5之前的if for 是没有块级作用域的,我们只能借助function的作用域来解决应用外面变量的问题,

let是ES6的语法,它是有块级作用域的。

3.2、const使用以及注意点

代码如下:




    
    
    
    Document
    


    
{{mess}}

总结:

const :常量,不可修改值。

在开发过程中优先使用const,只有需要改变某一个标识符时候使用let。

注意点:一旦使用const修饰的标示符被赋值之后,就不能再修改值。

使用const定义标识符的时候,必须赋值。

常量的含义是指向对象不能修改,但是可以改变对象内部的属性。

3.3、ES6对象的字面量 增强写法

代码如下:


 

    
    
    
    Document
    
 
 
    
 


总结:

属性的增强写法与函数的增强写法看以上代码示例。

3.4、v-on的基本使用、语法糖、传参以及修饰符

介绍:

作用:绑定事件监听器

简写:@

参数:event

预期:Function | InlineStatement | Object

代码如下:





    
    
    
    Document
    



    

总结:v-on:click 可以简写为@click,无参可以不加花括号。

有参: 如果函数有参数,但是没有传递参数,Vue默认会传递一个浏览器自动生成event事件对象作为参数传递到函数中; 在调用方法时,如何手动获取浏览器自动生成的event事件,前面加个event

访问修饰符的使用:

stop修饰符:只触发当前自己事件,父级的事件不触发。

prevent修饰符:阻止默认事件的触发,应用场景为:form表单,可以阻止默认的事件表单提交。

keyup.* 某个键盘键的触发修饰符,比如:Enter

once修饰符:只触发一次事件。

3.5、v-if v-els-if v-else基本使用

代码如下:




    
    
    
    Document
    


    
值: {{mess}}

优秀

良好

及格

总结:

如果有多个v-else-if 就不建议在标签上判断,直接用计算属性来判断。

3.6、v-show与v-if的区别

代码如下:




    
    
    
    Document
    


    
值: {{mess}}

优秀

良好

总结: v-if条件为false时,包含v-if指令的元素,根本就不存在dom中,

v-show条件为false时,v-show只是给我们的元素添加了一个行内样式 dispaly:none

开发中我们如何选择:

当需要在显示与隐藏之间切换频繁是,则是使用v-show 性能高

当只有一次切换时,通过使用v-if

  1. 7、v-for的基本使用

    代码如下:

    
     
    
        
        
        
        demo
        
    
    
        
    • {{index}}----{{item}}
    • {{value}}-{{key}}-{{index}}

    总结:

官方推荐我们使用v-for的时候,给对应的元素或者组件添加上一个:key 属性。

目的是更好的复用。

3.8、数组中哪些方式是响应式

代码如下:





    
    
    
    demo
    



    
  • {{item}}

总结:

push : 数组元素添加,可以添加一个或者多个元素且元素放在最后。

pop:删除数组的最后一个元素。

shift:删除数组的第一个元素。

unshift:数组元素添加,可以添加一个或者多个元素且放在元素的最前面。

splice:删除/插入/替换元素。

删除元素 语法如下: start:要从第几个开始是删除;num:删除几个元素 ,如果只有一个start,那么会删除start后的所有元素

this.数组.splice (start,num);

替换元素 语法如下: start:要从第几个开始替换 num:要替换几个元素 :value:要替换的元素值,可以是多个。

this.数组.splice (start,num,value1,value2......);

插入元素 语法如下 start:要从第几个开始插入 0:为默认值 value:要插入的值,可以是多个。

this.数组.splice (start,0,value1,value2......);

3.9、javascript 高阶函数

代码如下:




    
    
    
    Document
    
 

    
{{mess}}

总结:

filter 过滤函数:当回调函数返回值为true时,它将会符合逻辑条件的数组元素返回给一个新数组中,也是上述代码中的 newnum,则返回值为false时,不添加到新的数组中。

map 函数:当数值中元素的值发生变化是,使用map函数,回调函数返回的一个发生变化后的值,然后添加到新的数组中。

reduce 函数:将数组中的元素进行汇总【加 减 乘 除】,回调函数中有两个参数,一个参数是:汇总后上一次的返回值,另个参数为:数组元素中的值。

4.0、v-model表单绑定 双向绑定

代码如下:





    
    
    
    Document
    



    
基本语法:
v-model 原理:
{{mess}}
radio 绑定语法:

{{sex}}

单选框: 同意协议
您当前的选择为:{{isAgree}}

篮球 足球 排球
您当前的选择:{{list}}
下拉列表 选择单个 :
您选择的水果是:{{fruit}}
下拉列表选择多个 :
您选择的水果是:{{fruits}}

总结:

v-model的基本语法:v-model = "变量名"。

原理:单项绑定 input的value属性,然后通过 input事件监听,对mess进行修改。

radio单选按钮的使用,单选按钮顾名思义的就是多个单选按钮只能选中一个,需要加name=value ,value必须是一致的,如果有v-model绑定的value值,那么可以将name属性去掉。

checkbox复选框:当个复选框,选中并v-model绑定后,返回的类型为bool,多个复选框选中并v-model绑定后,返回的是一个数组。

select 下拉列表:要注意的是:v-model要绑定在select上,单选和多选的区别是:单选:只返回一个值,多选是返回一个数组,并且在select上添加 multiple 属性。

4.1、input 修饰符

代码如下:





    
    
    
    Document
    



    
lazy 修饰符:

{{mess}}


number 修饰符:

{{age}}


number 修饰符:

{{name}}


总结:

lazy:可以让数据失去焦点或者回车才会更新对象中的属性值。

number:只能让input文本框输入数字,不能输入文字。

trim:将用户在文本框输入的空格去掉。

你可能感兴趣的:(一、vue基础语法)