1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Vue3 基礎(chǔ)難點(diǎn)總結(jié)

        共 7000字,需瀏覽 14分鐘

         ·

        2022-06-29 19:30

        本文特別福利,贈(zèng)送JS新書,循序漸進(jìn)Vue.js 3前端開(kāi)發(fā)實(shí)戰(zhàn),規(guī)則見(jiàn)文末~

        vue各種各樣的命令和語(yǔ)法的格式容易記混

        vue指令-v-model修飾符

        語(yǔ)法:

        v-model.修飾符="vue數(shù)據(jù)變量"

        • .number   以parseFloat轉(zhuǎn)成數(shù)字類型
        • .trim          去除首尾空白字符
        • .lazy           在失去焦點(diǎn)時(shí)觸發(fā)更改而非inupt時(shí)

        計(jì)算屬性

        • 計(jì)算屬性有緩存,提高渲染性能。
        • 如果在頁(yè)面上需要用到 對(duì)現(xiàn)有的數(shù)據(jù)進(jìn)行加工得到新數(shù)據(jù),則時(shí)要使用計(jì)算屬性

        普通寫法

        computed: {
                //屬性名字(計(jì)算屬性名稱)
                //屬性的值(計(jì)算屬性處理函數(shù))
                計(jì)算屬性名1 () {
                    // 對(duì)依賴的數(shù)據(jù)進(jìn)行處理,且進(jìn)行return
                    return 
                },
        復(fù)制代碼

        完整寫法

        computed: {
            "屬性名": {
                set(值){
                    
                },
                get() {
                    return "值"
                }
            }
        }
        復(fù)制代碼

        vue監(jiān)聽(tīng)器

        可以監(jiān)聽(tīng)數(shù)據(jù)(data/computed等)的值的改變。數(shù)據(jù)的值有類型:基本數(shù)據(jù)類型,引用數(shù)據(jù)類型

        深度監(jiān)聽(tīng)

        watch: {
            "要監(jiān)聽(tīng)的屬性名": {
                immediate: true, // 立即執(zhí)行
                deep: true, // 深度監(jiān)聽(tīng)復(fù)雜類型內(nèi)變化
                handler (newVal, oldVal) {
                    
                }
            }
        }
        復(fù)制代碼

        scoped實(shí)現(xiàn)組件的私有樣式

        <stype scoped>
          h2 {} // 樣式只會(huì)在當(dāng)前組件內(nèi)生效
        </style>
        復(fù)制代碼

        父?jìng)髯?/span>

        image.png

        子傳父

        image.png

        vue組件生命周期

        四個(gè)階段:

        • 初始化 => 創(chuàng)建組件   => beforeCreate created
        • 掛載 => 渲染顯示組件 =>  beforeMount mouted
        • 更新 => 修改了變量 => 觸發(fā)視圖刷新 => beforeUpdate updated
        • 銷毀 => 切換頁(yè)面 => 會(huì)把組件對(duì)象從內(nèi)存刪除 => beforeDestory destoryed
        image.png

        組件進(jìn)階-props校驗(yàn)

        props: {
            // 基礎(chǔ)的類型檢查 (`null` 和 `undefined` 會(huì)通過(guò)任何類型驗(yàn)證)
            propA: Number,
            // 多個(gè)可能的類型
            propB: [String, Number],
            // 必填的字符串
            propC: {
              type: String,
              required: true
            },
            // 帶有默認(rèn)值的數(shù)字
            propD: {
              type: Number,
              default: 100
            },
            // 帶有默認(rèn)值的對(duì)象
            propE: {
              type: Object,
              // 對(duì)象或數(shù)組默認(rèn)值必須從一個(gè)工廠函數(shù)獲取
              default: function () {
                return { message: 'hello' }
              }
            },
            // 自定義驗(yàn)證函數(shù)
            propF: {
              validator: function (value) {
                // 這個(gè)值必須匹配下列字符串中的一個(gè)
                return ['success''warning''danger'].indexOf(value) !== -1
              }
            }
          }
        復(fù)制代碼

        組件進(jìn)階 - 動(dòng)態(tài)組件

        <component :is="comName"></component> //comName是變量,值為需要切換的幾個(gè)組件名
        復(fù)制代碼

        組件進(jìn)階-keep-alive組件

        用keep-alive內(nèi)置的vue組件, 讓動(dòng)態(tài)組件緩存而不是銷毀

        <keep-alive>
            <!-- vue內(nèi)置的組件component, 可以動(dòng)態(tài)顯示組件 -->
            <component :is="comName"></component>
        </keep-alive>
        復(fù)制代碼

        組件進(jìn)階-keep-alive組件-指定緩存

        語(yǔ)法

        1. `include="組件名1,組件名2..."`
        2. `:include="['組件名1', '組件名2']"`
        <keep-alive include="name1,name2">
            <!-- vue內(nèi)置的組件component, 可以動(dòng)態(tài)顯示組件 -->
            <component :is="comName"></component>
        </keep-alive>
        復(fù)制代碼

        組件進(jìn)階-具名插槽

        格式

        定義:<slot name="xxx">

        使用:

        • <template #xxx></template>;
        • <template v-slot:xxx></template>
        image.png

        自定義指令-基本使用

        {
          data(){},
          methods: {},
          directives: {
            focus: { // 自定義指令名
                inserted(el){ // 固定配置項(xiàng) - 當(dāng)指令插入到標(biāo)簽自動(dòng)觸發(fā)此函數(shù)
                    el.focus()
                }
            },
          },
        }
        復(fù)制代碼

        自定義指令-傳值和更新

        目標(biāo): 使用自定義指令, 傳入一個(gè)值

        需求: 定義color指令-傳入一個(gè)顏色, 給標(biāo)簽設(shè)置文字顏色

        main.js定義處修改一下

        directives: {
          "color":{
            inserted(el, binding){ // 插入時(shí)觸發(fā)此函數(shù)
              el.style.color = binding.value;
            },
            update(el, binding){ // 更新綁定的變量時(shí)觸發(fā)此函數(shù)=》手動(dòng)更新
              el.style.color = binding.value;
            }
          }
        }
        復(fù)制代碼

        Direct.vue處更改一下

        <p v-color="theColor" @click="changeColor">使用v-color指令控制顏色, 點(diǎn)擊變藍(lán)</p>

        <script>
          data() {
            return {
              theColor: "red",
            };
          },
          methods: {
            changeColor() {
              this.theColor = 'blue';
            },
          },
        </script>
        復(fù)制代碼

        總結(jié): v-xxx, 自定義指令, 獲取原生DOM, 自定義操作

        axios請(qǐng)求

         async loadData(){
               const res= await axios.get("http://.......")
              //  console.log(data);
            }
          },
         created(){
            this.loadData()
          }
        復(fù)制代碼


        關(guān)于本文:

        來(lái)源:pain_past_is_pleasur

        https://juejin.cn/post/7095724314876051492


        贈(zèng)書


        循序漸進(jìn)Vue.js 3前端開(kāi)發(fā)實(shí)戰(zhàn),這本書以一個(gè)多年前端“老司機(jī)”的視角,循序漸進(jìn)地介紹當(dāng)前流行的前端框架Vue.js 3的新特性、各項(xiàng)功能及其在商業(yè)開(kāi)發(fā)中的應(yīng)用。全書共15章。

        第1~6章介紹Vue.js 3的模板、組件、交互處理等基礎(chǔ)知識(shí);

        第7章介紹Vue.js 3框架的響應(yīng)式原理及組合式API;

        第8章介紹使用Vue.js 3框架開(kāi)發(fā)前端動(dòng)畫效果;

        第9章介紹開(kāi)發(fā)大型項(xiàng)目必備的腳手架工具VueCli和Vite;

        第10章介紹基于Vue.js 3的UI框架Element Plus;

        第11~13章分別介紹網(wǎng)絡(luò)請(qǐng)求框架vue-axios、路由管理框架Vue Router、狀態(tài)管理框架Vuex;

        第14章和第15章介紹兩個(gè)相對(duì)完整的項(xiàng)目的開(kāi)發(fā),即學(xué)習(xí)網(wǎng)站和電商后臺(tái)系統(tǒng)。

        本書試圖介紹Vue.js 3全家桶及周邊框架和工具的綜合應(yīng)用,旨在使讀者通過(guò)閱讀本書開(kāi)發(fā)自己的應(yīng)用程序。本書還在各章安排了小型范例和練習(xí)題,并提供了教學(xué)視頻、源代碼及PPT課件。


        活動(dòng)一:在本文留言,點(diǎn)贊前三名即為中獎(jiǎng)。另在剩下的留言中,按樓層順序隨機(jī)抽一位幸運(yùn)兒。共送四本!

        活動(dòng)二:在朋友圈活動(dòng)中點(diǎn)贊,第88樓和188樓分別送出一本

        說(shuō)明兩個(gè)活動(dòng)可重復(fù)參于,朋友圈需掃下面二維碼添加我好友,刷贊取消資格~

        開(kāi)獎(jiǎng)時(shí)間2022年6月26號(hào) 星期天 22:00

        歡迎添加我微信號(hào)參與朋友圈活動(dòng)或領(lǐng)獎(jiǎng)或加入技術(shù)交流群:



        往期推薦


        我們用了一個(gè)周末,將 370 萬(wàn)行代碼遷移到了 TypeScript
        2022 年的 React 生態(tài)
        微前端究竟是什么?微前端核心技術(shù)揭秘!

        最后


        • 歡迎加我微信,拉你進(jìn)技術(shù)群,長(zhǎng)期交流學(xué)習(xí)...

        • 歡迎關(guān)注「前端Q」,認(rèn)真學(xué)前端,做個(gè)專業(yè)的技術(shù)人...

        點(diǎn)個(gè)在看支持我吧
        瀏覽 29
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产精品人妻熟女毛片aⅴ麻豆 | 91自慰网站| 欧美亚洲日本视频 | 亚洲精品无码久久久香草影院 | 黄色片网站国产干 | 伊人大香蕉久久 | 国产扒开腿精品无码高潮视频 | 又大又爽的视频 | 日韩毛片免费看 | 女上男下一进一出的视频 |