【vue】创建实例&数据对象方法
介绍
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动,比较适用于已了解关于 HTML、CSS 和 JavaScript 中级知识的同学。
创建实例
每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的,虽然没有完全遵循 MVVM 模型,但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变量名表示 Vue 实例。
var vm = new Vue({ // 选项
})
数据
在实例创建的时候就已经存在于data中的属性才是响应式的,如果是在创建实例后追加的属性值,那么他将得不到响应式的更新。如果你需要在创建实例后才用到某些属性值,那么可以在创建实例的开始就为他赋值为空或者其他的一个初始值。
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title>测试vue</title>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div >
{{message}}
</div>
<script type="text/javascript">
var data = {
message : '123',
};
var vm = new Vue({
el : '#app',
data : data,
})
data.message = '234';
</script>
</body>
</html>
1.我们用的是script标签来引入vue,这个时候Vue会被注册为一个全局变量
2.同时我们在实例化的时候分别传入了el(为Vue对象绑定了根DOM元素)、data(Vue实例的数据),data可以先在外面预定义,也可以直接在实例化的时候写入data对象
3.我们在实例化之后改变了data对象里面的messge,这个时候页面上会随之从123变成456,这就是响应式变化。
对象
Vue 实例暴露了一些有用的实例属性。它们都有前缀 $,以便与用户定义的属性区分开来。他们分别有
vm.$data
vm.$el
vm.$props
vm.$options
vm.$parent
vm.$root
vm.$children
vmm.$slots
vm.$scopedSlots
vm.$refs
vm.$isServer
vm.$attrs
vm.$listeners
因为初学,这里我们只测试vm.$data
以及vm.$el
,vm.$data
就是我们在创建Vue实例的都时候传入的data数据,而vm.$el
就是创建Vue实例绑定的根DOM元素对象。
data示例代码:
data.message = '234';//这是直接修改传入data的方式vm.$data.message = '456';//这是直接利用Vue示例属性修改的方式
el示例代码:
console.log(vm.$el);//这是Vue的根dom元素console.log(document.getElementById('app'));//这是直接js获取到的DOM元素
document.getElementById('app').innerHTML = '789';//利用js对象修改文本
vm.$el.innerHTML = '78912';//利用Vue的属性来修改文本
方法
Vue 在实例化的时候还有一些方法:
数据类型方法
vm.$watch
vm.$delete
vm.$set
生命周期类方法
vm.$mount
vm.$forceUpdate
vm.nextTick
vm.$destory
事件类方法
vm.$on
vm.$once
vm.$off
vm.$emit
我们主要来看下数据类方法中的$watch
,其他的后续学习
watch是主要观测一个数据的变化,当数据发生改变时就会被执行。示例代码:
<script type="text/javascript"> var data = {
message : '123',
};
var vm = new Vue({
el : '#app',
data : data,
})
vm.$watch('message', function(newValue, oldValue){
console.log(newValue);
console.log(oldValue);
})
vm.$data.message = '234';
</script>
参考资料
Vue官网-Vue实例
Vue官网-API参考
Vue视频-DCloud
以上是 【vue】创建实例&数据对象方法 的全部内容, 来源链接: utcz.com/z/380443.html