溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue.set的作用

發(fā)布時間:2021-01-19 11:24:57 來源:億速云 閱讀:269 作者:小新 欄目:編程語言

這篇文章主要介紹了vue.set的作用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

vue.set的作用:1、通過【Vue.set】方法設(shè)置data屬性,代碼為【Vue.set(data,'sex', '男') 】;2、使用【vm.$set】實(shí)例方法,代碼為【var key = 'content';】。

vue.set的作用:

當(dāng)生成vue實(shí)例后,當(dāng)再次給數(shù)據(jù)賦值時,有時候并不會自動更新到視圖上去;

如果在實(shí)例創(chuàng)建之后添加新的屬性到實(shí)例上,它不會觸發(fā)視圖更新

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vue $set</title>
<script src="https://static.jb51.net/assets/vue/1.0.11/vue.min.js"></script>
</head>
<body>
<div id="app">
 姓名:{{ name }}<br>
 年齡:{{age}}<br>
 性別:{{sex}}<br>
 說明:{{info.content}}
</div>
<!-- JavaScript 代碼需要放在尾部(指定的HTML元素之后) -->
<script>
var data = {
 name: "億速云",
 age: '3',
 info: {
  content: 'my name is test'
 }
}
var key = 'content';
var vm = new Vue({
 el:'#app',
 data: data,
 ready: function(){
  //Vue.set(data,'sex', '男')
  //this.$set('info.'+key, 'what is this?');
 }
});
data.sex = '男';//不生效
</script>
</body>
</html>

運(yùn)行結(jié)果:

姓名:億速云
年齡:3
性別:
說明:my name is test

在age及name都有g(shù)et和set方法,但是在sex里面并沒有這兩個方法,因此,設(shè)置了sex值后vue并不會自動更新視圖;

解決方法:

<script>
var data = {
 name: "腳本之家",
 age: '3',
 info: {
  content: 'my name is test'
 }
} 
var key = 'content';
new Vue({
 el:'#app',
 data: data,
 ready: function(){
  Vue.set(data,'sex', '男');
  this.$set('info.'+key, 'what is this?');
 }
});
</script>

1、通過Vue.set方法設(shè)置data屬性,如上:

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

2、您還可以使用 vm.$set實(shí)例方法,這也是全局 Vue.set方法的別名:

var key = 'content'; //這種主要用于當(dāng)對象中某個屬性值動態(tài)生成時處理方式
this.$set('info.'+key, 'what is this?');
//或
this.$set('info.content', 'what is this?');

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“vue.set的作用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI