VUE

1. VUE的模板语法

(1) 引入Vue.js文件
(2) 创建Vue对象

el: 指定用vue来管理页面的哪个标签区域
data: 初始化数据(页面可以访问)

(3) 双向数据绑定: v-model
(4) 使用大括号表达式,向页面输出数据, 可以调用对象的方法. {{exp}}
(5) 理解vue的MVVM实现
M - Model 模型, 数据对象(data)
V - View 视图, 模板页面
VM - viewModel 视图模型(Vue的实例)




    
    vue基本使用


hello {{message}}

效果展示:hello xxx可随着输入框内容的变化而变化
VUE_第1张图片

模板的理解:

* Vue.js 的核心是一个允许采用简洁的模板语法来 声明式 地将数据渲染进 DOM 的系统
* 动态的html页面
* 包含了一些js语法代码
* 大括号表达式
* 指令(以v-开头的自定义标签属性), Vue提供的特殊attribute

大括号表达式

* 语法: {{exp}}
* 功能: 向页面输出数据,可以调用对象的方法

举例1:大括号表达式




    
    大括号表达式


大括号表达式

{{message}}

{{message.toUpperCase()}}

结果:

VUE_第2张图片

举例2:
v-text 将内容理解为文本, 即使内容是标签
v-html 将内容理解为标签




    
    大括号表达式


结果:
VUE_第3张图片

v-modle

在表单控件或者组件上创建双向绑定

举例: 表单数据的自动收集




    
    表单数据的自动收集


用户名:
密码:
性别:
爱好:
城市:
介绍:

结果:

VUE_第4张图片

强制数据绑定

功能:指定变化的属性值
完整写法:
v-bind:xxx='yyy' //yyy会作为表达式来解析执行
简洁写法:
:xxx='yyy'
举例:




    
    强制数据绑定


强制数据绑定

结果:将属性值当作常量imgUrl, 未找到图片,则不显示。如果使用强制绑定,则src的属性值当作表达式解析

VUE_第5张图片

绑定事件监听

功能: 绑定指定事件名的回调函数
完整写法:
v-on:事件名 = 'xxx'
简洁写法:
@事件名='xxx'

举例:




    
    绑定事件监听


绑定事件监听

结果:
使用methods属性,属性值为事件绑定的构造函数。根据需要,可传参,可不传参。
VUE_第6张图片

计算属性computed

计算属性的方法在什么时候执行:初始化显示或者相关的data属性数据发生改变




    
    计算属性


姓:
名:
姓名(单向):

结果: 当姓或名发生改变时, 姓名通过computed的计算方法也会随之变化。姓名框的改变,姓或名不会随之改变。

VUE_第7张图片

watch监视

1) 通过vm对象的$watch()或者watch配置来监视指定的属性
2) 当属性变化时,回调函数自动调用,在函数内部进行计算




    
    监视


姓:
名:
姓名(单向):

结果: 同computed 的效果一样,姓名随着姓和名的变化而变化。

VUE_第8张图片

计算属性的get(获取)和set(监视,而非设置)

1)通过getter/setter实现对属性数据的显示和监视
2)计算属性存在缓存,多次读取只执行一次getter计算
getter: 属性的get方法
setter: 属性的set方法

  • 注意理解回调函数:

回调函数的三个特点: 1.你定义的 2.你没有调用 3.但它最终执行了
要明白回调函数什么时候调,用来做什么




    
    计算属性


姓:
名:
姓名(双向):

结果: 实现姓/名与姓名之间的双向改变
VUE_第9张图片

强制绑定Style

:style="{ color: activeColor, fontSize: fontSize + 'px' }"
其中activeColor / fontSize是data属性




    
    强制绑定Style


style

结果:
VUE_第10张图片

条件渲染指令

v-if, v-else, 通过移除来隐藏显示




    
    条件渲染if


//if, else 哪个为真显示哪个

成功

失败

结果:初始化的v-else 为真, 所以显示v-else
VUE_第11张图片

v-show:

通过display样式为none,来隐藏显示。
如果需要频繁切换 v-show 较好




    
    条件渲染v-show


成功

失败

结果:通过display样式为none,来隐藏显示
VUE_第12张图片

你可能感兴趣的:(vue.js)