當前位置:編程學習大全網 - 源碼下載 - methodreturn的值vue會自動變化渲染麽

methodreturn的值vue會自動變化渲染麽

vue.js

Vue中data數據變化 -- 頁面重新渲染的問題

真的好困

原創

關註

5點贊·4679人閱讀

話不多說,直接上代碼!!!

1. 當數據屬於基本類型時 , vue會自動檢測並在頁面重新渲染

<div id="app">

<p>{{ testData }} </p>

</div>

<script src="./vue-2.6.12.js"></script>

<script>

let vm = new Vue({

el:'#app',

data(){

return {

testData:'嘻嘻哈哈'

}

}

})

// 修改data裏面的數據

let num= 123

vm.testData += num

console.log(vm.testData);

</script>

復制

頁面展示效果:

控制臺輸出:

2. 如果數據是引用類型 , 數據改變無法引起頁面重新渲染

2.1 如果數據是數組

<div id="app">

<h2>{{ list }} </h2>

</div>

<script src="./vue-2.6.12.js"></script>

<script>

let vm = new Vue({

el:'#app',

data(){

return {

list:[1,2,3,4]

}

}

})

// 修改data裏面的數據

let num = Math.round( Math.random()*10)

vm.list.length = num

console.log('修改後的引用類型數據:',vm.list)

</script>

復制

頁面效果 :

控制臺打印效果 :

2.1.1 解決方法

1. 合並數組到壹個新的數組中

vm.list = [...vm.list,num]

復制

2. Vue對數組變更的壹些方法進行了封裝

push()、pop()、shift()、unshift()、splice()、sort()、reverse() , 使用這些方法,可以直接出發視圖重新渲染

2.2 如果數據是對象類型

<div id="app">

<h2>{{ obj }} </h2>

<button @click="addFn">新增</button>

</div>

<script src="./vue-2.6.12.js"></script>

<script>

let vm = new Vue({

el:'#app',

data(){

return {

obj:{name:'zs',age:22 }

}

},

methods: {

addFn(){

this.obj.sex = '男'

console.log('修改後的對象類型數據:',this.obj)

}

},

})

</script>

復制

頁面效果:

控制臺打印:

2.2.1 解決方法

使用Vue的 set 方法

代碼實現

this.$set(this.obj,'sex','男')

//參數1: 要修改的對象

//參數2: 屬性

//參數3: 屬性的值是啥

//返回值:已經修改好的值

{ "name": "zs", "age": 22, "sex": "nan" }

  • 上一篇:翻譯程序
  • 下一篇:計算機病毒犯罪案例
  • copyright 2024編程學習大全網