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

Vue修改Dom不生效的解決

 更新時間:2023年06月02日 14:35:41   作者:messi0913  
這篇文章主要介紹了Vue修改Dom不生效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue修改Dom不生效

場景

data中定義一個空數(shù)組,在mouted中用請求到大數(shù)據(jù)對其進(jìn)行賦值,進(jìn)入主頁面不生效

注釋掉的內(nèi)容沒有效果是因為對于已經(jīng)創(chuàng)建的實例,Vue 不允許動態(tài)添加根級別的響應(yīng)式屬性。

vue的基本原理是通過Object.defineProperty重寫變量的get和set方法來實現(xiàn)監(jiān)聽變量的改變和通知頁面重新渲染的。

解決數(shù)據(jù)沒有被雙向綁定我們可以使用 vm.$set 實例方法,該方法是全局方法 Vue.set 的一個別名。

vue如何操作Dom

最近有些自閉,life is a shit,但是學(xué)習(xí)不能停,也開始繼續(xù)健身了,試圖讓自己好一點.

我們需要在谷歌商店安裝vue-devtools插件,打不開的話,點擊這里,按照步驟操作后,就可以在谷歌商店下載插件了,下載插件的步驟:點擊谷歌瀏覽器的更多工具 -> 擴展程序 -> 打開chrome網(wǎng)上應(yīng)用商店 -> 搜索vue devtools -> 添加至chrome,之后打開嗶哩嗶哩的官網(wǎng),右上角出現(xiàn)這個圖標(biāo),則表示已經(jīng)生效了

VUE是通過傳遞一些配置給Vue對象和頁面中引用插值表達(dá)式來操作DOM的,我們就從其安裝開始說明

1.VUE的使用

點擊這里進(jìn)入VUE中文官網(wǎng),點擊起步-->點擊安裝-->下載開發(fā)版本,然后在頁面中直接引入就好了。

引入vue.js文件后,給我們提供了一個構(gòu)造函數(shù)Vue,在js中,new Vue()會返回一個vue實例對象,我們用變量接收它,傳遞一個配置對象,代碼如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 引入vue文件 -->
    <script src="./vue.js"></script>    
</head>
<body>
    <script>
        const vm = new Vue({
            //配置對象config
        });
    </script>
</body>
</html>

2.配置對象

上面說到new Vue()中可以傳遞一個配置對象,下面就來康康配置中有些什么屬性吧

1.el

屬性el的數(shù)據(jù)類型是字符串,表示element(元素),其作用是:配置控制的元素,表示Vue要控制的區(qū)域,其值支持css選擇器的篩選方式,舉個栗子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 引入vue文件 -->
    <script src="./vue.js"></script>    
</head>
<body>
    <div id="app"></div>
    <script>
        const vm = new Vue({
            //配置對象config
            el: "#app"      //找到dom中id為app的元素
        });
        console.log("el:",vm.$el);    //$el是vm內(nèi)置的對象
        console.log("vm:",vm);
    </script>
</body>
</html>

【結(jié)果】可以看到,能夠選取到id為app的div元素

圖1

2.$mount

這里要首先說明的是,$mount是vue的一個方法,并不是需要配置的對象,它的作用和el相同,例

const vm = new Vue({});
console.log("el",vm.$mount("#app").$el);    //$el是vm內(nèi)置的對象
console.log("vm:",vm);

【結(jié)果】同圖1相同

3.data

屬性data的數(shù)據(jù)類型是對象,其作用是存放要用到的數(shù)據(jù),且數(shù)據(jù)是響應(yīng)式的,例子如下

【例2】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 引入vue文件 -->
    <script src="./vue.js"></script>    
</head>
<body>
    <div id="app">
        <!-- 將data中msg對應(yīng)的數(shù)據(jù)渲染到頁面 -->
        {{ msg }}
    </div>
    <script>
        const vm = new Vue({
            //配置對象config
            el: "#app" ,     //找到dom中id為app的元素
            data: {
                msg: "你不用裝冷淡,我沒想糾纏"
            }
        });
    </script>
</body>
</html>

【結(jié)果】頁面中出現(xiàn)msg中的字符串

3.插值表達(dá)式

插值表達(dá)式的使用方法是用兩個花括號將需要渲染到頁面的數(shù)據(jù)括起來,如 {{ msg }}(例2所示),插值表達(dá)式中可以填寫Vue中的data,數(shù)據(jù)值,表達(dá)式

  • 1)填寫data
<body>
    <div id="app">
        <!-- 將data中msg對應(yīng)的數(shù)據(jù)渲染到頁面 -->
        {{ name }}
        {{ msg }}
    </div>
    <script>
        const vm = new Vue({
            //配置對象config
            el: "#app",     //找到dom中id為app的元素
            data: {
                msg: "你不用裝冷淡,我沒想糾纏",
                name: '離岸'
            }
        });
    </script>
</body>
  • 2)填寫數(shù)據(jù)值

包括數(shù)字、字符串、布爾值、undefined、null、數(shù)組、對象等

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        <p>Number:{{ 123 }}</p>
        <p>String:{{ '寄給你全宇宙的愛和自太古至永劫的思念'}}</p>
        <p>Boolean:{{ true }}</p>
        <p>Array:{{ [1,2,3] }}</p>
        <p>Object:{{ {name:'離岸', word:'你不用裝冷淡,我沒想糾纏'} }}</p>
    </div>
    <script>
        const vm = new Vue({
            //配置對象config
            el: "#app"     //找到dom中id為app的元素
        });
    </script>
</body>
</html>

【結(jié)果】

  • 3)表達(dá)式

A.運算表達(dá)式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        <p>加法:{{ 'you' + 'me' }}</p>
        <p>減法:{{ 10 - 5 }}</p>
        <p>乘法:{{ 100 * 7 }}</p>
        <p>除法:{{ 1000 / 12 }}</p>
    </div>
    <script>
        const vm = new Vue({
            //配置對象config
            el: "#app"     //找到dom中id為app的元素
        });
    </script>
</body>
</html>

【結(jié)果】

 B.邏輯表達(dá)式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- 邏輯表達(dá)式 -->
        <p>或:{{ 0 || 1 }}</p>
        <p>與:{{ 1 && 0 }}</p>
        <p>非:{{ !0 }}</p>
    </div>
    <script>
        const vm = new Vue({
            //配置對象config
            el: "#app"     //找到dom中id為app的元素
        });
    </script>
</body>
</html>

【結(jié)果】

 C.三元表達(dá)式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- 三元表達(dá)式 -->
        {{ 1 + 1 === 2 ? '小明勝利' : '小紅勝利' }}
    </div>
    <script>
        const vm = new Vue({
            //配置對象config
            el: "#app"     //找到dom中id為app的元素
        });
    </script>
</body>
</html>

【結(jié)果】

 D.函數(shù)表達(dá)式

【注意】

  • 1)插值表達(dá)式不能填的內(nèi)容:語句、流程控制
  • 2)若在插值表達(dá)式中填入未在data中聲明的數(shù)據(jù),則會報錯
  • 3)若填入的數(shù)據(jù)在原型鏈上找不到,則值為undefined,例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
        {{ edu.highSchool }}
    </div>
    <script>
        const vm = new Vue({
            //配置對象config
            el: "#app" ,    //找到dom中id為app的元素
            data: {
                name: 'jwh',
                edu: {
                    college: 'Xupt',
                    undergraduate: 'Xupt'
                }
            }
        });
    </script>
</body>
</html>

【結(jié)果】

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue實現(xiàn)購物車場景下的應(yīng)用

    Vue實現(xiàn)購物車場景下的應(yīng)用

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)購物車場景下的應(yīng)用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 詳解vue beforeEach 死循環(huán)問題解決方法

    詳解vue beforeEach 死循環(huán)問題解決方法

    這篇文章主要介紹了vue beforeEach 死循環(huán)問題解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Vue2?特殊符號讓人傻傻分不清?“:”、“.”、“@”、“#”?、“{{}}“?、“$“,‘$bus‘,‘$event‘

    Vue2?特殊符號讓人傻傻分不清?“:”、“.”、“@”、“#”?、“{{}}“?、“$“,‘$bus‘,‘$e

    :”是指令?“v-bind”的縮寫“.”是修飾符?“@”是指令“v-on”的縮寫?,它用于監(jiān)聽?DOM?事件?“#”是v-slot的縮寫,這篇文章主要介紹了Vue2?新手上路無處不在的特殊符號讓人傻傻分不清“:”、“.”、“@”、“#”?、“{{}}“?、“$“,$bus,$event,需要的朋友可以參考下
    2024-08-08
  • vue實現(xiàn)同時設(shè)置多個倒計時

    vue實現(xiàn)同時設(shè)置多個倒計時

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)同時設(shè)置多個倒計時,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • vue3?+?async-validator實現(xiàn)表單驗證的示例代碼

    vue3?+?async-validator實現(xiàn)表單驗證的示例代碼

    表單驗證可以有效的過濾不合格的數(shù)據(jù),減少服務(wù)器的開銷,并提升用戶的使用體驗,今天我們使用?vue3?來做一個表單驗證的例子,需要的朋友跟隨小編一起學(xué)習(xí)下吧
    2022-06-06
  • Vue中使用JsonView來展示Json樹的實例代碼

    Vue中使用JsonView來展示Json樹的實例代碼

    這篇文章主要介紹了Vue之使用JsonView來展示Json樹的實例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Vue中transition單個節(jié)點過渡與transition-group列表過渡全過程

    Vue中transition單個節(jié)點過渡與transition-group列表過渡全過程

    這篇文章主要介紹了Vue中transition單個節(jié)點過渡與transition-group列表過渡全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue與ant-tree結(jié)合偽造懶加載并可以查詢

    vue與ant-tree結(jié)合偽造懶加載并可以查詢

    這篇文章主要為大家介紹了vue與ant-tree結(jié)合偽造懶加載并可以查詢實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Vue中computed與methods的區(qū)別詳解

    Vue中computed與methods的區(qū)別詳解

    這篇文章主要介紹了Vue中computed與methods的區(qū)別詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Vue3中v-model實現(xiàn)雙向數(shù)據(jù)綁定的全面指南

    Vue3中v-model實現(xiàn)雙向數(shù)據(jù)綁定的全面指南

    在Vue開發(fā)中,v-model是實現(xiàn)表單輸入和應(yīng)用狀態(tài)之間雙向綁定的關(guān)鍵指令,Vue 3對v-model進(jìn)行了重大改進(jìn),使其更加靈活和強大,本文將深入探討 Vue 3中v-model的工作原理、新特性以及最佳實踐,需要的朋友可以參考下
    2025-07-07

最新評論

大埔县| 鄂温| 信丰县| 南阳市| 金昌市| 定州市| 抚松县| 兴和县| 新巴尔虎右旗| 二连浩特市| 靖江市| 威信县| 会泽县| 区。| 当雄县| 阳江市| 石台县| 招远市| 蒙阴县| 建湖县| 罗城| 乐至县| 无极县| 池州市| 横山县| 教育| 鄢陵县| 东光县| 顺平县| 廉江市| 芦溪县| 西乌珠穆沁旗| 静乐县| 盈江县| 青阳县| 铜川市| 南乐县| 新竹县| 淅川县| 德令哈市| 木里|