let vm = new Vue({
data:{a:1}
created(){ //获取Ajax和初始化操作
debugger;
}
})
beforeMount 必须保证有编译的元素
let vm = new Vue({
el:#app;
beforeMount(){//没有什么实际意义
debugger;
}
template:{
'<div>{{a}}</div>'//如果有template属性会用模板替换掉外部html属性,只能用一个根元素,不能是文本节点
}
})
//或者是 vm.$mount('#app')保证有编译元素beforeMount才会执行
mounted() 这个方法可以操作dom元素了因为真实dom操作完了
beforeUpdate()更新之前,更新之后
updated()更新后 一般会用watch:替换掉
beforeDestroy()销毁前 清除定时器 清除事件绑定
destroyed()销毁后 移除后
monuted() 详细说明
HTML:
<div id='app'>
<p ref="myp">{{msg}}</p>
</div>
vue:
let vm = new Vue({
el:"#app",
data:{
msg:'hellow'
}
//dom完成之后执行的函数,异步方法this.$nextTick()
//this.$data, this.$el,this.$set,this.$options把所有属性都打印出来
mounted(){
this.$nextTick(()=>{//dom完成之后执行的函数,异步方法,如果你像改变数据后马上获取到最新的数据值那么就需要用到此函数。
console.log(vm)
})
this.$ref.myp//可以取dom元素,如果dom元素不是通过v-for循环的 只能获取一个,通过v-for循环出来的就可以获取多个
}
})