Vue.js

2018-10-11  本文已影响8人  饥人谷_Leonardo

MVVM模式

(视图层和数据层的双向绑定,让我们无需再去关心DOM操作的事情,更过的精力放在数据和业务逻辑上去)

Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;
View 代表UI 组件,它负责将数据模型转化成UI 展现出来,
ViewModel 是一个同步View 和 Model的对象。

Vue.js优点 - 面向数据编程

环境搭建,入口

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17-beta.0/vue.min.js"></script>

实例挂载

var app = new Vue({
    el:'#id',   //实例挂载DOM中
    data:{      //双向绑定数据
        msg:2
    }           
})

挂载点 实例指定的节点为挂载点

访问Vue实例属性

app.$el     
app.$date

访问date元素的属性(直接访问date数据)

app.msg

生命周期(钩子)

created:()=>{alert('创建完成,还未挂载')},
mounted:()=>{alert('已经挂载马上渲染')}

文本插值 {{msg}} v-text/v-html

Vue .js 只支持单行表达式,不支持语句和流控制

{{ 6+6 *3}}                 可以进行简单的运算
{{ 6<3 ? msg :a}}           可以用三元运算符
{{if(6>3){}}                注意:文本插值的形式,其中不能书写表达式,支持单个表达式
{{var a = 6}}               也是多行表达式----var a ;a = 6;

过滤器 - filters对象

Vue. 支持在{{}}插值的尾部添加一小管道符 “ | ” 对数据进行过滤,
经常用于格式化文本,比如字母全部大写、货币千位使用逗号分隔等。
过滤的规则是自定义的, 通过给 Vue 实例添加选项 filters 来设置
过滤器:{{ data | filter1 |filter2}}
{{date | formatDate(66,99)}} 中的第一个和第二个参数,分别对应过滤器的第二个和第三个参数

语法糖 //点击同时改变

语法糖是指在不影响功能的情况下 , 添加某种简洁方法实现同样的效果 , 从而更加方便程序开发。
v-bind ——> : (冒号)
v-on ——> @

计算属性 - computed对象

所有的计算属性都以函数的形式写在 Vue 实例内的computed 选项内,最终返回计算后的结果。
只要其中任一数据变化,计算属性就会重新执行,视图也会更新
computed对象有get和set方法,如果直接跟function,使用getter函数
计算属性可以依赖其他计算属性。
计算属性不仅可以依赖当前 Vue 实例的数据,还可以依赖其他实例的数据

计算属性缓存 依赖属性变化才会重新计算

调用 methods 里的方法也可以与计算属性起到同样的作用
页面中的方法: 如果是调用方法,只要页面重新渲染。方法就会重新执行,不需要渲染,则不需要重新执行
计算属性:不管渲染不渲染,只要计算属性依赖的数据未发生变化,就永远不变

结论: 没有使用计算属性,在 methods 里定义了一个方法实现了相同的效果,甚至该方法还可以接受
参数,使用起来更灵活。既然使用 methods 就可以实现,那么为什么还需要计算属性呢?原因就是
计算属性是基于它的依赖缓存的。 一个计算属性所依赖的数据发生变化时,它才会重新取值,所以text 只要不改变,计算属性也
就不更新
何时使用:使用计算属性还是 methods 取决于你是否需要缓存,当遍历大数组和做大量计算时,应当使用计算属性。

v­-bind

动态更新HTML元素上的属性,比如 id 、class 等,数据变化时页面绑定就会变化。

绑定class

v­bind:class 设置一个对象,可以动态地切换 class
:class="{divstyle:isActive} (isActive值对应true ,false)
当 class 的表达式过长或逻辑复杂时,还可以绑定一个计算属性

绑定style

vue中只要是大写字母,就会转化为-加小写。(A -a)
注意 : css属性名称使用驼峰命名(came!Case) 或短横分隔命名(kebab­case)

:style{'color':color,'font-size':fontSize+'px'}

监听器 - watch

监听数据发送变化,进行函数逻辑

上一篇下一篇

猜你喜欢

热点阅读