最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

實例中通過點擊按鈕計數(shù)器會加 1。setTimeout 設(shè)置 10 秒后計算器的值加上 20 。

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

效果如下:

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

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

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

Vue.set

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

Vue.set( target, key, value )

參數(shù)說明:

  • target: 可以是對象或數(shù)組
  • key : 可以是字符串或數(shù)字
  • value: 可以是任何類型
<div id = "app">
  <p style = "font-size:25px;">計數(shù)器: {{ products.id }}</p>
  <button @click = "products.id++" style = "font-size:25px;">點我</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('計數(shù)器值的變化 :' + oval + ' 變?yōu)?' + nval + '!');
});
</script>

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

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

該變量在賦值給了 Vue 實例的 data 對象:

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

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

vm.products.qty = "1";

查看控制臺輸出:

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

我們不能通過添加 Vue 對象來實現(xiàn)響應(yīng)。 Vue 主要在開始時創(chuàng)建所有屬性。 如果我們要實現(xiàn)這個功能,可以通過 Vue.set 來實現(xiàn):

<div id = "app">
<p style = "font-size:25px;">計數(shù)器: {{ products.id }}</p>
<button @click = "products.id++" style = "font-size:25px;">點我</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('計數(shù)器值的變化 :' + oval + ' 變?yōu)?' + nval + '!');
});
</script>

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

Vue.delete

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

Vue.delete( target, key )

參數(shù)說明:

  • target: 可以是對象或數(shù)組
  • key : 可以是字符串或數(shù)字
<div id = "app">
  <p style = "font-size:25px;">計數(shù)器: {{ products.id }}</p>
  <button @click = "products.id++" style = "font-size:25px;">點我</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('計數(shù)器值的變化 :' + oval + ' 變?yōu)?' + nval + '!');
});
</script>

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

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

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

相關(guān)文章

  • 詳解vue 兼容IE報錯解決方案

    詳解vue 兼容IE報錯解決方案

    這篇文章主要介紹了詳解vue 兼容IE報錯解決方案,詳細的介紹了幾種原因及其解決方案,非常具有實用價值,需要的朋友可以參考下
    2018-12-12
  • Vue項目如何獲取本地文件夾絕對路徑

    Vue項目如何獲取本地文件夾絕對路徑

    這篇文章主要介紹了Vue項目如何獲取本地文件夾絕對路徑問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue?同局域網(wǎng)訪問不到的問題及解決

    vue?同局域網(wǎng)訪問不到的問題及解決

    這篇文章主要介紹了vue?同局域網(wǎng)訪問不到的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue使用vue-cli快速創(chuàng)建工程

    vue使用vue-cli快速創(chuàng)建工程

    這篇文章主要介紹了vue使用vue-cli快速創(chuàng)建工程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Vue指令v-for遍歷輸出JavaScript數(shù)組及json對象的常見方式小結(jié)

    Vue指令v-for遍歷輸出JavaScript數(shù)組及json對象的常見方式小結(jié)

    這篇文章主要介紹了Vue指令v-for遍歷輸出JavaScript數(shù)組及json對象的常見方式,結(jié)合實例形式總結(jié)分析了vue.js使用v-for指令遍歷輸出js數(shù)組與json對象的常見操作技巧,需要的朋友可以參考下
    2019-02-02
  • Vue 實現(xiàn)定時刷新與自動更新(示例詳解)

    Vue 實現(xiàn)定時刷新與自動更新(示例詳解)

    在現(xiàn)代 Web 開發(fā)中,定時刷新頁面或定時更新數(shù)據(jù)是一種常見的需求,尤其是在需要與服務(wù)器進行定時通信或者展示實時數(shù)據(jù)的場景下,Vue.js 提供了簡單而有效的方法來實現(xiàn)定時刷新和自動更新,本文將介紹幾種常見的定時刷新方式、適用場景、優(yōu)缺點以及性能考慮
    2024-11-11
  • vue中的keep-alive用法指南

    vue中的keep-alive用法指南

    keep-alive是Vue中的一個內(nèi)置組件,用于緩存非活動組件實例,避免重復(fù)渲染,優(yōu)化性能,本文給大家介紹vue中的keep-alive用法指南,感興趣的朋友一起看看吧
    2024-10-10
  • 詳解ESLint在Vue中的使用小結(jié)

    詳解ESLint在Vue中的使用小結(jié)

    ESLint是一個QA工具,這篇文章主要介紹了詳解ESLint在Vue中的使用小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Vue.js 3.x 中的響應(yīng)式數(shù)據(jù)ref 與 reactive詳解

    Vue.js 3.x 中的響應(yīng)式數(shù)據(jù)ref 與 reactive詳解

    ref 和 reactive 是 Vue.js 3 中用于創(chuàng)建響應(yīng)式數(shù)據(jù)的兩個關(guān)鍵函數(shù),它們分別適用于不同類型的數(shù)據(jù),幫助我們更好地組織和管理組件的狀態(tài),這篇文章主要介紹了Vue.js 3.x 中的響應(yīng)式數(shù)據(jù):ref 與 reactive,需要的朋友可以參考下
    2024-01-01
  • Vue導(dǎo)出頁面為PDF格式的實現(xiàn)思路

    Vue導(dǎo)出頁面為PDF格式的實現(xiàn)思路

    這篇文章主要介紹了Vue導(dǎo)出頁面為PDF格式的實現(xiàn)思路,其實思路也很簡單,就是將頁面轉(zhuǎn)換成圖片格式.然后通過圖片的base64碼.生成PDF..感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07

最新評論

大方县| 钟山县| 江口县| 克什克腾旗| 新巴尔虎左旗| 广宁县| 蕉岭县| 怀宁县| 镇巴县| 宜兰县| 油尖旺区| 桦甸市| 荃湾区| 金阳县| 聊城市| 平泉县| 武鸣县| 柘荣县| 惠安县| 锡林浩特市| 望江县| 白玉县| 梨树县| 达州市| 大田县| 平陆县| 德庆县| 赞皇县| 汝南县| 景宁| 台江县| 同江市| 酒泉市| 苍梧县| 尚义县| 岳西县| 凌云县| 精河县| 项城市| 深水埗区| 炉霍县|