vue是什么?
提示:https://cn.vuejs.org/ 是vue的官网,里面有详细的教程,网站最上方一排学习里面教程,内容介绍全面,想深入学习可以进官网。
vue是一个前端渐进式的js框架,用到什么功能,只需要引入什么功能模块就可以,特点:易用(使用成本低),灵活(生态系统完善,适用于任何规模的项目),高效(体积小,优化好,性能好)
Vue是一个MVVM的js框架,MVVM的调用关系和MVP一样。但是,在ViewModel当中会有一个叫 Binder,或者是Data-binding engine的东西。你只需要在View的模版语法中,指令式地声明View上的显示的内容是和Model的哪一块数据绑定的。 当ViewModel对Model进行更新的时候,Binder会自动把数据更新到View上 去;当用户对View进行操作(例如表单输入),Binder也会自动的把数据更新到Model上去。这种方式称为:Two-way data-binding,双向数据绑定。
Vue能做什么?
管理数据,简化操作
摒弃掉 DOM 操作
Vue不支持IE8,因为使用了ES5的很多特性
vue的双向数据绑定原理原理
当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转 为 getter/setter。Object.defineProperty 是 ES5 中一个无法模拟的特性, 这也就是 Vue 不支持 IE8 以及更低版本浏览器的原因。 每个组件实例都对应一个 watcher 实例,它会在组件渲染的过程中把“接触”过的数据属性记录为依赖。之后当依赖项的 setter 触发时,会通知 watcher,从而使它关联的组件重新渲染。
vue在创建vm的时候,会将数据配置到实例中,然后通过Object.defineProperty方法,为数据动态的添加getter与setter方法。
当获取数据的时候,会触发对应的getter方法,当设置数据的时候,触发对应的setter方法。
然后当setter方法触发完成的时候,内部会进一步触发watcher,当数据改变了,视图则更新操作完毕。
获取对象的属性的时候,会调用自身的get方法
设置对象的属性的时候,会调用自身的set方法
Vue的语法?
1,如何创建一个vue实例?
(1)先script标签引入vue.js库
(2) var vm = new Vue({
el: "#app", // 数据的挂载点 将Vue实例具体运用到哪一个DOM元素上
data:{ // 我们需要Vue帮忙管理的数据
person:{
name,
age
}
}
})
// 数据代理
vm.person.name
2,Mustang语法
{{ 变量名 }}
3,指令
v-for //在上面写的v-开头的称之为vue的指令(directive) 指令的作用,就是用来操作dom
//v-for不仅可以用来遍历数组,还可以用来遍历对象
例子:<p v-for="(value,key,index) in person">{{index+1}} {{key}} {{value}}</p>