Vue 數(shù)組和對象更新,但是頁面沒有刷新的解決方式
更新時間:2019年11月09日 16:49:06 作者:仙人掌的成長
今天小編就為大家分享一篇Vue 數(shù)組和對象更新,但是頁面沒有刷新的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
在使用數(shù)組的時候,數(shù)組內(nèi)部數(shù)據(jù)發(fā)生改變,但是與數(shù)組綁定的頁面的數(shù)據(jù)卻沒有發(fā)生變化。
<ul>
<li v-for="(item,index) in todos" :key="index">{{item.name}}</li>
</ul>
data () {
return {
msg: 'Welcome to Your Vue.js App',
todos: [{
name: 'aa',
age: 14
}, {
name: 'bb',
age: 15
}, {
name: 'cc',
age: 16
}],
obj: {name: 'lihui', age: 17}
}
},
methods: {
changeTodos: function () {
var _this = this
_this.todos[0] = {
name: 'zhangsan',
age: 15
}
console.log(this.todos)
/*
this.$set(this.todos, 0, 'nn')
this.$forceUpdate()
*/
}
這種修改得方式,無法出發(fā)數(shù)組得set,導(dǎo)致頁面得數(shù)據(jù)不會改變。
有三種解決方式。
一、使用全局得set方法。
this.$set(this.todos,0,{name: 'zhangsan',age: 15});或者對象this.$set(this.obj,'key',value);
二,強(qiáng)制更新
this.$forceUpdate()
以上這篇Vue 數(shù)組和對象更新,但是頁面沒有刷新的解決方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于vue-cli vue-router搭建底部導(dǎo)航欄移動前端項目
這篇文章主要介紹了基于vue-cli vue-router搭建底部導(dǎo)航欄移動前端項目,項目中主要用了Flex布局,以及viewport相關(guān)知識,已達(dá)到適應(yīng)各終端屏幕的目的。需要的朋友可以參考下2018-02-02
vue3?hook重構(gòu)DataV的全屏容器組件詳解
這篇文章主要為大家介紹了vue3?hook重構(gòu)DataV的全屏容器組件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

