作者:冫Eva | 来源:互联网 | 2023-10-12 13:08
构造器
每个Vue.js 应用都是通过构造函数Vue 创建一个Vue 的根实例启动的:
<script> var vm=new Vum({ // 选项 }) script>
Vue.js 组件都是被扩展的Vue 实例。
可扩展Vue 构造器,从而用与定义选项可复用的组建构造期:
<script> var myCompOnent=Vue.extend({ //扩展选项 }) //所有的‘myComponet’ 实例都将以预定义的扩展选项被创建 var myCompOnentInstance= new myComponent() script>
属性和方法
每个Vue 实例都会代理其data 对象里所有的属性:
注:只有被代理的属性是响应的,也就是说值的任何改变都是触发视图的重新渲染。
<script>
var data={a:1}
var vm=new Vue({
data:data
})
vm.a === data.a //1
vm.a =2
console.log(data.a) //2
</script>
添加前缀 $ ,以便与代理的data 属性区分
<script> var data = {a:1} var vm = new Vue({ el: '#example', data: data }) vm.$data === data vm.$el === document.getElementById('example') vm.$swatch('a',function(newVal,oldVal){ // 这个回调将在‘vm.a’ 改变后调用 }) script>
实例声明周期
每个Vue 实例在被创建之前都要经过一系列的初始化过程。例如,实例需要配置数据观测(data observer)、编译模板、挂载实例到DOM,然后在数据变化是更新DOM。
计算属性
计算属性 vs Methods
computed: { reversedMessage:function(){ return this.message.split('').reverse().join('') }
}
methods:{ reverseMessage:function(){ return this.message.split('').reverse().join('') }
}
计算属性与method 两种方法得到的结果相同。不同的是计算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新求值。也就意味着只要message 没有发生改变,多次访问reversedMessage 计算属性会立刻返回之前的计算结果,而不必再执行函数