git操作
在vue中操作节点的话,应该放在mounted
生命周期中,因为mounted
是DOM渲染结束后执行
http://blog.csdn.net/Wbiokr/article/details/77799291
vm.$nextTick()
但是今天遇到一个场景,就是请求是在created
中异步请求数据的,而在mounted
中操作DOM,确拿不到这个DOM,原因很简单:因为请求是异步的,执行到 mounted
的时候,数据还没返回,所以根本也就没有DOM可以拿到。
解决的方法:
使用$nextTick
vm.$nextTick([callback])
用法:
将回调延迟到下次DOM循环更新之后执行。在修改数据之后立即使用它,然后等待DOM更新。它跟全局的Vue.nextTick一样,不同的是回调的this自动绑定到调用它的实例上。
示例:
new Vue({
// ...
methods: {
// ...
example: function () {
// 修改数据
this.message = 'changed'
// DOM 还没有更新
this.$nextTick(function () {
// DOM 现在更新了
// `this` 绑定到当前实例
this.doSomethingElse()
})
}
}
})
filter没有改变原数组
网友评论