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

Vue使用$set和$delete操作對象屬性

 更新時間:2022年03月14日 11:50:02   作者:.NET開發(fā)菜鳥  
這篇文章介紹了Vue使用$set和$delete操作對象屬性的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、$set

在開始講解$set之前先看下面的一段代碼,實現的功能:當點擊“添加”按鈕時,動態(tài)的給data里面的對象添加屬性和值,代碼示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>添加屬性</title>
    <!--引入vue.js-->
    <script src="node_modules/vue/dist/vue.js" ></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#app',// 2.0不允許掛載到html,body元素上
                data:{
                    info:{id:1,price:15,name:"套餐A"}
                },
                methods:{
                    add:function(){
                        // 給info對象添加msg屬性并賦值
                        this.info.msg="hello";
                    }
                }
            });
        }
    </script>
</head>
<body>
    <div id="app">
        {{info.msg}}
        <button @click="add">添加</button>
    </div>
</body>
</html>

先看看點擊按鈕之前的效果:

從截圖中可以看出這時info對象只有三個屬性,點擊“添加”按鈕刷新,然后在看看info對象的屬性,截圖如下:

可以看出這時info對象增加了msg屬性,但是界面上面沒有顯示出來msg屬性的值。即:

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

這時就需要使用$set了。代碼示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>添加屬性</title>
    <!--引入vue.js-->
    <script src="node_modules/vue/dist/vue.js" ></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#app',// 2.0不允許掛載到html,body元素上
                data:{
                    info:{id:1,price:15,name:"套餐A"}
                },
                methods:{
                    add:function(){
                        // 給info對象添加msg屬性并賦值
                        //this.info.msg="hello";
                        this.$set(this.info,"msg","hello");
                    }
                }
            });
        }
    </script>
</head>
<body>
    <div id="app">
        {{info.msg}}
        <button @click="add">添加</button>
    </div>
</body>
</html>

效果:

可以看出:使用了$set之后視圖會被更新。

注意:如果是修改對象里面已經存在的屬性,則直接修改即可

代碼示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>添加屬性</title>
    <!--引入vue.js-->
    <script src="node_modules/vue/dist/vue.js" ></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#app',// 2.0不允許掛載到html,body元素上
                data:{
                    info:{id:1,price:15,name:"套餐A"}
                },
                methods:{
                    add:function(){
                        // 給info對象添加msg屬性并賦值
                        //this.info.msg="hello";
                        this.$set(this.info,"msg","hello");
                    },
                    modify:function(){
                        this.info.name="套餐B";
                    }
                }
            });
        }
    </script>
</head>
<body>
    <div id="app">
        {{info.msg}}
        name值:{{info.name}}
        <button @click="add">添加</button>
        <button @click="modify">修改</button>
    </div>
</body>
</html>

效果:

二、$delete刪除對象屬性

可以使用$delete刪除對象里面的屬性,代碼示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>添加屬性</title>
    <!--引入vue.js-->
    <script src="node_modules/vue/dist/vue.js" ></script>
    <script>
        window.onload=function(){
            new Vue({
                el:'#app',// 2.0不允許掛載到html,body元素上
                data:{
                    info:{id:1,price:15,name:"套餐A"}
                },
                methods:{
                    add:function(){
                        // 給info對象添加msg屬性并賦值
                        //this.info.msg="hello";
                        this.$set(this.info,"msg","hello");
                    },
                    modify:function(){
                        this.info.name="套餐B";
                    },
                    del:function(){
                        // 刪除info對象里面的price屬性
                        this.$delete(this.info,"price");
                    }
                }
            });
        }
    </script>
</head>
<body>
    <div id="app">
        {{info.msg}}
        name值:{{info.name}}
        <button @click="add">添加</button>
        <button @click="modify">修改</button>
        <button @click="del">刪除</button>
    </div>
</body>
</html>

效果:

到此這篇關于Vue使用$set和$delete操作對象屬性的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用Vue.js和Flask來構建一個單頁的App的示例

    使用Vue.js和Flask來構建一個單頁的App的示例

    本篇文章主要介紹了使用Vue.js和Flask來構建一個單頁的App的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 在vue項目中 實現定義全局變量 全局函數操作

    在vue項目中 實現定義全局變量 全局函數操作

    這篇文章主要介紹了在vue項目中 實現定義全局變量 全局函數操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Vue Steps步驟條渲染異常問題

    Vue Steps步驟條渲染異常問題

    這篇文章主要介紹了Vue Steps步驟條渲染異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vuejs實現標簽選項卡動態(tài)更改css樣式的方法

    vuejs實現標簽選項卡動態(tài)更改css樣式的方法

    這篇文章主要介紹了vuejs實現標簽選項卡-動態(tài)更改css樣式的方法,代碼分為html和js兩部分,需要的朋友可以參考下
    2018-05-05
  • 基于vue中css預加載使用sass的配置方式詳解

    基于vue中css預加載使用sass的配置方式詳解

    下面小編就為大家分享一篇基于vue中css預加載使用sass的配置方式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue中同時監(jiān)聽多個參數的實現

    vue中同時監(jiān)聽多個參數的實現

    這篇文章主要介紹了vue中同時監(jiān)聽多個參數的實現方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue 項目中遇到的跨域問題及解決方法(后臺php)

    Vue 項目中遇到的跨域問題及解決方法(后臺php)

    這篇文章主要介紹了Vue 項目中遇到的跨域問題及解決方法(后臺php),前端采用vue框架,后臺php,具體解決方法,大家參考下本文
    2018-03-03
  • Vue+NodeJS實現大文件上傳的示例代碼

    Vue+NodeJS實現大文件上傳的示例代碼

    常見的文件上傳方式可能就是new一個FormData,把文件append進去以后post給后端就可以了。但如果采用這種方式來上傳大文件就很容易產生上傳超時的問題。所以本文將利用Vue+NodeJS實現大文件上傳,需要的可以參考一下
    2022-05-05
  • vue-cli項目使用mock數據的方法(借助express)

    vue-cli項目使用mock數據的方法(借助express)

    現如今前后端分離開發(fā)越來越普遍,前端人員寫好頁面后可以自己模擬一些數據進行代碼測試,這樣就不必等后端接口,提高了我們開發(fā)效率。今天就來分析下前端常用的mock數據的方式是如何實現的,需要的朋友可以參考下
    2019-04-04
  • 一文輕松理解Vuex

    一文輕松理解Vuex

    這篇文章主要介紹了Vuex及其使用方法,感興趣的同學,可以參考下
    2021-04-04

最新評論

屏东市| 宜阳县| 连平县| 托里县| 马鞍山市| 建湖县| 兴隆县| 大同市| 搜索| 伽师县| 松潘县| 太康县| 固镇县| 胶州市| 辉南县| 米林县| 邵阳市| 池州市| 甘谷县| 乳山市| 天镇县| 蓬溪县| 洞头县| 苍溪县| 呼伦贝尔市| 墨江| 钦州市| 锦州市| 合江县| 航空| 渝中区| 宁安市| 蕉岭县| 扎兰屯市| 丹江口市| 武清区| 垦利县| 遂宁市| 麦盖提县| 三门县| 广元市|