git操作
在vue中操作節(jié)點(diǎn)的話,應(yīng)該放在mounted生命周期中,因?yàn)?code>mounted是DOM渲染結(jié)束后執(zhí)行
http://blog.csdn.net/Wbiokr/article/details/77799291
vm.$nextTick()
但是今天遇到一個(gè)場景,就是請求是在created中異步請求數(shù)據(jù)的,而在mounted中操作DOM,確拿不到這個(gè)DOM,原因很簡單:因?yàn)檎埱笫钱惒降?,?zhí)行到 mounted的時(shí)候,數(shù)據(jù)還沒返回,所以根本也就沒有DOM可以拿到。
解決的方法:
使用$nextTick
vm.$nextTick([callback])
用法:
將回調(diào)延遲到下次DOM循環(huán)更新之后執(zhí)行。在修改數(shù)據(jù)之后立即使用它,然后等待DOM更新。它跟全局的Vue.nextTick一樣,不同的是回調(diào)的this自動(dòng)綁定到調(diào)用它的實(shí)例上。
示例:
new Vue({
// ...
methods: {
// ...
example: function () {
// 修改數(shù)據(jù)
this.message = 'changed'
// DOM 還沒有更新
this.$nextTick(function () {
// DOM 現(xiàn)在更新了
// `this` 綁定到當(dāng)前實(shí)例
this.doSomethingElse()
})
}
}
})
filter沒有改變原數(shù)組