上节回顾
昨天我把Vue.js
学习中介绍篇
大致看了一遍,当时其实没有上传成功,莫名其妙的草稿也保存失败了,变成了半张的残缺稿,然后到早上到公司随意点了一下还是没有成功,也没太在意,然后...然后莫名其妙就传上去了???
本篇目标
今天准备把Vue实例篇
走一边
创建一个Vue实例
一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及可选的嵌套的、可复用的组件树组成。
好,我来重复一遍:一个Vue应用
应该是一个new Vue根实例(树根)
和一堆乱七八糟的组件(树杈子)
组成。
创建Vue实例的基础格式:连我都觉得太简单所以不写了
。
var data = { 班级名称 : '狠一班', 班级学生 : [ {姓名 : '我老猛' , 性别 : '女'}, {姓名 : '我老萌' , 性别 : '男'} ], 班主任 : '词穷'}var vm = new Vue({ data : data})
由此可见data
应该就是一个属性的集合
而且各种类型的属性一锅炖
,嗯...,
逗号分割。
至于下面说的修改数据值,还是实际试一下比较好。
{ {message}} 鼠标悬停几秒据说有看头?Now you see me - 我伦
- { {todo.text}}
拿我伦
做测试吧,F12
- Console
- data.seen
- app.seen=false
- data.seen
- data.seen=true
- app.seen
只有当实例被创建时 data
中存在的属性才是 响应式。
这里我现在还不知道怎么在运行时向data
中追加属性对象,所以没有办法提供代码验证了...(短时间内没查出来)不过我记住这个点了。
Object.freeze()
var data = { msg : 'you have a new message.', num : 3, seen : true}Object.freeze(data)var app = new Vue({ el : '#app', data : data})
字面意思 - 冻结
,貌似无法单独冻结data
下的指定属性,比如:Object.freeze(data.msg)
,虽然不抱错,但是还是可以改值的,所以只能以data
为单位冻。
data
冻结后的结果:F12
- app.msg = 'some other.'
会报错,错误挺容易理解的,大概是这属性是只读
的,然而我们还可以用data.msg = 'some other.'
,可以看到这里不会报错,不过当输入data.msg
打印值时发现并没有修改其值。
Vue官方有提供一下内置实例属性与方法,他们都是$
开头,不过都是通过Vue实例.
出来的
Vue的生命周期
那图有些看不懂,先大致记一下生命周期的钩子的执行顺序吧:
从前到后依次是:
beforeCreate
->created
->beforeMount
->mounted
->beforeUpdate
->updated
->beforeDestroy
->destroyed
创建前
->创建后
->装载前
->装载后
->更新前
->更新后
->销毁前
->销毁后
小节
不知不觉又12点了,每天都感觉时间很少,总是不够用。
今天并没有些什么实质性的代码,几乎只是一些理论,而且并不多。加油吧~