vue $set修改對象


在vue開發中,當生成vue實例后,再次給數據賦值時,有時候並不會自動更新到視圖上去;

eg:<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">
<title>vue $set的使用</title>
<script src="https://static.runoob.com/assets/vue/1.0.11/vue.min.js"></script>
</head>
<body>
<div id="app"> 姓名:{{ name }}<br> 手機:{{phone}}<br> 性別:{{sex}}<br> 說明:{{list.instr}} </div>
<script>
var data = { name: "簡書", phone: '15736882244', list: { instr: 'my name is Yilia' } } 
//var key = 'instr';
var vm = new Vue({ el:'#app', data: data, ready: function(){
    //Vue.set(data,'sex', '男');
    //this.$set('list.'+key, 'who are you?');

  } }); data.sex = ''</script> </body> </html>

這樣運行的結果是

姓名:簡書

年齡:15736882244

性別:

說明:my name is Yilia

解決方法是:

Vue.set(data,'sex', '男')

還可以使用 vm.$set實例方法,這也是全局 Vue.set方法的別名:

var key = 'instr'; //這種主要用於當對象中某個屬性值動態生成時處理方式
this.$set('list.'+key, 'who are you?');
 或
this.$set('list.instr', 'who are you?');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM