欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Vue.js 響應(yīng)接口

 更新時(shí)間:2020年07月04日 15:37:48   作者:菜鳥(niǎo)教程  
這篇文章主要介紹了Vue.js 響應(yīng)接口的相關(guān)資料,文中實(shí)例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

Vue 可以添加數(shù)據(jù)動(dòng)態(tài)響應(yīng)接口。

例如以下實(shí)例,我們通過(guò)使用 $watch 屬性來(lái)實(shí)現(xiàn)數(shù)據(jù)的監(jiān)聽(tīng),$watch 必須添加在 Vue 實(shí)例之外才能實(shí)現(xiàn)正確的響應(yīng)。

實(shí)例中通過(guò)點(diǎn)擊按鈕計(jì)數(shù)器會(huì)加 1。setTimeout 設(shè)置 10 秒后計(jì)算器的值加上 20 。

<div id = "app">
  <p style = "font-size:25px;">計(jì)數(shù)器: {{ counter }}</p>
  <button @click = "counter++" style = "font-size:25px;">點(diǎn)我</button>
</div>
<script type = "text/javascript">
var vm = new Vue({
  el: '#app',
  data: {
    counter: 1
  }
});
vm.$watch('counter', function(nval, oval) {
  alert('計(jì)數(shù)器值的變化 :' + oval + ' 變?yōu)?' + nval + '!');
});
setTimeout(
  function(){
    vm.counter += 20;
  },10000
);
</script>

效果如下:

Vue 不允許在已經(jīng)創(chuàng)建的實(shí)例上動(dòng)態(tài)添加新的根級(jí)響應(yīng)式屬性。

Vue 不能檢測(cè)到對(duì)象屬性的添加或刪除,最好的方式就是在初始化實(shí)例前聲明根級(jí)響應(yīng)式屬性,哪怕只是一個(gè)空值。

如果我們需要在運(yùn)行過(guò)程中實(shí)現(xiàn)屬性的添加或刪除,則可以使用全局 Vue,Vue.set 和 Vue.delete 方法。

Vue.set

Vue.set 方法用于設(shè)置對(duì)象的屬性,它可以解決 Vue 無(wú)法檢測(cè)添加屬性的限制,語(yǔ)法格式如下:

Vue.set( target, key, value )

參數(shù)說(shuō)明:

  • target: 可以是對(duì)象或數(shù)組
  • key : 可以是字符串或數(shù)字
  • value: 可以是任何類(lèi)型
<div id = "app">
  <p style = "font-size:25px;">計(jì)數(shù)器: {{ products.id }}</p>
  <button @click = "products.id++" style = "font-size:25px;">點(diǎn)我</button>
</div>
<script type = "text/javascript">
var myproduct = {"id":1, name:"book", "price":"20.00"};
var vm = new Vue({
  el: '#app',
  data: {
   products: myproduct
  }
});
vm.products.qty = "1";
console.log(vm);
vm.$watch('products.id', function(nval, oval) {
  alert('計(jì)數(shù)器值的變化 :' + oval + ' 變?yōu)?' + nval + '!');
});
</script>

在以上實(shí)例中,使用以下代碼在開(kāi)始時(shí)創(chuàng)建了一個(gè)變量 myproduct:

var myproduct = {"id":1, name:"book", "price":"20.00"};

該變量在賦值給了 Vue 實(shí)例的 data 對(duì)象:

var vm = new Vue({ el: '#app', data: { products: myproduct } });

如果我們想給 myproduct 數(shù)組添加一個(gè)或多個(gè)屬性,我們可以在 Vue 實(shí)例創(chuàng)建后使用以下代碼:

vm.products.qty = "1";

查看控制臺(tái)輸出:

如上圖看到的,在產(chǎn)品中添加了數(shù)量屬性 qty,但是 get/set 方法只可用于 id,name 和 price 屬性,卻不能在 qty 屬性中使用。

我們不能通過(guò)添加 Vue 對(duì)象來(lái)實(shí)現(xiàn)響應(yīng)。 Vue 主要在開(kāi)始時(shí)創(chuàng)建所有屬性。 如果我們要實(shí)現(xiàn)這個(gè)功能,可以通過(guò) Vue.set 來(lái)實(shí)現(xiàn):

<div id = "app">
<p style = "font-size:25px;">計(jì)數(shù)器: {{ products.id }}</p>
<button @click = "products.id++" style = "font-size:25px;">點(diǎn)我</button>
</div>
<script type = "text/javascript">
var myproduct = {"id":1, name:"book", "price":"20.00"};
var vm = new Vue({
  el: '#app',
  data: {
   products: myproduct
  }
});
Vue.set(myproduct, 'qty', 1);
console.log(vm);
vm.$watch('products.id', function(nval, oval) {
  alert('計(jì)數(shù)器值的變化 :' + oval + ' 變?yōu)?' + nval + '!');
});
</script>

從控制臺(tái)輸出的結(jié)果可以看出 get/set 方法可用于qty 屬性。

Vue.delete

Vue.delete 用于刪除動(dòng)態(tài)添加的屬性 語(yǔ)法格式:

Vue.delete( target, key )

參數(shù)說(shuō)明:

  • target: 可以是對(duì)象或數(shù)組
  • key : 可以是字符串或數(shù)字
<div id = "app">
  <p style = "font-size:25px;">計(jì)數(shù)器: {{ products.id }}</p>
  <button @click = "products.id++" style = "font-size:25px;">點(diǎn)我</button>
</div>
<script type = "text/javascript">
var myproduct = {"id":1, name:"book", "price":"20.00"};
var vm = new Vue({
  el: '#app',
  data: {
   products: myproduct
  }
});
Vue.delete(myproduct, 'price');
console.log(vm);
vm.$watch('products.id', function(nval, oval) {
  alert('計(jì)數(shù)器值的變化 :' + oval + ' 變?yōu)?' + nval + '!');
});
</script>

以上實(shí)例中我們使用 Vue.delete 來(lái)刪除 price 屬性。以下是控制臺(tái)輸出結(jié)果:

從上圖輸出結(jié)果中,我們可以看到 price 屬性已刪除,只剩下了 id 和 name 屬性,price 屬性的 get/set 方法也已刪除。

以上就是詳解Vue.js 響應(yīng)接口的詳細(xì)內(nèi)容,更多關(guān)于Vue.js 響應(yīng)接口的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue+Mock.js模擬登錄和表格的增刪改查功能

    Vue+Mock.js模擬登錄和表格的增刪改查功能

    這篇文章主要介紹了Vue+Mock.js模擬登錄和表格的增刪改查功能,需要的朋友可以參考下
    2018-07-07
  • vue將文件/圖片批量打包下載zip的教程

    vue將文件/圖片批量打包下載zip的教程

    這篇文章主要介紹了vue將文件/圖片批量打包下載zip的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • Vue項(xiàng)目前端部署詳細(xì)步驟(nginx方式)

    Vue項(xiàng)目前端部署詳細(xì)步驟(nginx方式)

    Nginx(engine x)是一個(gè)高性能的HTTP和反向代理web服務(wù)器,是部署前端項(xiàng)目的首選,這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目前端部署(nginx方式)的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • vue組件入門(mén)知識(shí)全梳理

    vue組件入門(mén)知識(shí)全梳理

    這篇文章主要給大家介紹了關(guān)于vue組件入門(mén)知識(shí)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • vite如何build時(shí)清除console.log()問(wèn)題

    vite如何build時(shí)清除console.log()問(wèn)題

    這篇文章主要介紹了vite如何build時(shí)清除console.log()問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue3+elementPlus項(xiàng)目支持設(shè)置默認(rèn)附件方式

    vue3+elementPlus項(xiàng)目支持設(shè)置默認(rèn)附件方式

    這篇文章主要介紹了vue3+elementPlus項(xiàng)目支持設(shè)置默認(rèn)附件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解vue2.0 資源文件assets和static的區(qū)別

    詳解vue2.0 資源文件assets和static的區(qū)別

    這篇文章主要介紹了詳解vue2.0 資源文件assets和static的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 在vant中使用時(shí)間選擇器和popup彈出層的操作

    在vant中使用時(shí)間選擇器和popup彈出層的操作

    這篇文章主要介紹了在vant中使用時(shí)間選擇器和popup彈出層的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Storybook?7.0?Beta?Vue3踩坑解決記錄

    Storybook?7.0?Beta?Vue3踩坑解決記錄

    這篇文章主要為大家介紹了Storybook?7.0?Beta?Vue3踩坑解決記錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Vue開(kāi)發(fā)環(huán)境跨域訪問(wèn)問(wèn)題

    Vue開(kāi)發(fā)環(huán)境跨域訪問(wèn)問(wèn)題

    這篇文章主要介紹了Vue開(kāi)發(fā)環(huán)境跨域訪問(wèn)問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01

最新評(píng)論