vue.js基础(2)
2018-03-26 20:03
155 查看
创建一个Vue实例
++每个Vue应用都是通过Vue函数创建一个新的Vue实例开始的++var vm = new Vum({ //选项 });
一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及可选的嵌套的、可复用的组件树组成。举个例子,一个 todo 应用的组件树可以是这样的:
所有的Vue组件都是Vue实例,并且接受相同的选项对象(一些根实例特有的选项除外)
数据与方法
当一个Vue实例被创建时,向Vue的响应式系统中加入了其data对象中能找到的所有的属性。当这些属性的值发生改变时,视图将会发生响应,即匹配更新为新的值。//数据对象 var data = {a:1} //该对象加入到一个Vue实例中 var vm = new Vue({ data:data }) //获取这个实例上的属性 //返回原数据中对应的字段 vm.a == data.a //=> true //设置属性也会影响到原始数据 vm.a=2; data.a //=>2 //反之亦然 data.a=3; vm.a // =>3
当这些数据改变时,视图会进行重渲染。只有当实例被创建时data中存在的属性才是响应式的
当添加一个新属性
vm.b = 'hi'
对==b==的改动将不会触发任何视图的更新
如果你将需要一个属性,但刚开始为空或不存在,那你只需设置一些初始值,
eg
data:{ newTodoText:"", visitCount:0, hideCompletedTodos:false, todos:[], error:null }
例外:使用==Object.freeze()==,会阻止修改现有的属性,就是说影响系统无法再追踪变化
var obj = { foo:'bar' }; Object.freeze(obj); new Vue({ el:'#app', data:obj });
<div id="app"> <p>{{foo}}</p> <!--这里‘foo’ 不会更新--> <button @click="foo = 'baz'">Change it</button> </div>
实例属性与方法
都有前缀”$”,以便与用户定义的属性区分开来var data = {a:1}; var vm = new Vue({ el:"#example", data:data }); vm.$data === data; //=>true vm.$el === document.getElementById(example); //=>true //$watch是一个方法实例 vm.$watch('a',function(newValue,oldValue){ //这个回调将在‘vm.a’改变后调用 });
实例生命周期钩子
每个Vue实例在被创建时都要经过一系列的初始化过程(需要设置数据监听,编译模版,将实例挂载到DOM并在数据变化时更新Dom等)。同时在这个过程中也会运行一些叫做生命周期钩子的函数,用户可以在不同阶段添加自己的代码。例如:==created==钩子可以用来在一个实例被创建之后执行代码:
new Vue({ data:{ a:1 }, created:function(){ //"this" 指向vm实例 console.log('a is'+this.a) } });
还有其他一些钩子,在实例生命周期的不同阶段被调用,如==mounted== ==update== ==destroyed== 生命周期钩子的==this== 上下文指向调用它的Vue实例。
注:不要在选项属性或回调函数上使用==箭头函数==(created:()=>console.log(this.a))。因为箭头函数是和父级上下文绑定在一起的
生命周期图示
略相关文章推荐
- 最基础的vue.js双向绑定操作
- vue.js的基础学习
- Vue.js的学习、安装、基础语法
- VUE.JS的基础知识
- vue.js基础
- VUEJS实战之构建基础并渲染出列表(1)
- vue.js--基础 事件结合双向数据绑定实现todolist,增加和删除功能
- vue.js声明式渲染和条件与循环基础知识
- vue.js 基础(1)
- vue.js基础-声明式渲染和条件与循环
- vue.js--基础 事件结合双向数据绑定实现todolist 待办事项 已经完成 和进行中,键盘事件
- Vue.js 2.0 从基础到组件
- vue.js基础-模板语法-插值
- 最细致的vue.js基础语法 值得收藏!
- vue.js基础知识篇(1):简介、数据绑定
- Vue.js基础
- Vue.js组件——组件的基础知识
- VUE.js的基础知识
- vue.js基础-构造器
- vue.js入门教程之基础语法小结