<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 7000字,需瀏覽 14分鐘

           ·

          2022-06-29 19:30

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

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

          vue指令-v-model修飾符

          語法:

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

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

          計算屬性

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

          普通寫法

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

          完整寫法

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

          vue監(jiān)聽器

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

          深度監(jiān)聽

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

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

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

          父傳子

          image.png

          子傳父

          image.png

          vue組件生命周期

          四個階段:

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

          組件進階-props校驗

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

          組件進階 - 動態(tài)組件

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

          組件進階-keep-alive組件

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

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

          組件進階-keep-alive組件-指定緩存

          語法

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

          組件進階-具名插槽

          格式

          定義:<slot name="xxx">

          使用:

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

          自定義指令-基本使用

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

          自定義指令-傳值和更新

          目標: 使用自定義指令, 傳入一個值

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

          main.js定義處修改一下

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

          Direct.vue處更改一下

          <p v-color="theColor" @click="changeColor">使用v-color指令控制顏色, 點擊變藍</p>

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

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

          axios請求

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


          關(guān)于本文:

          來源:pain_past_is_pleasur

          https://juejin.cn/post/7095724314876051492


          贈書


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

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

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

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

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

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

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

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

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


          活動一:在本文留言,點贊前三名即為中獎。另在剩下的留言中,按樓層順序隨機抽一位幸運兒。共送四本!

          活動二:在朋友圈活動中點贊,第88樓和188樓分別送出一本

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

          開獎時間2022年6月26號 星期天 22:00

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



          往期推薦


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

          最后


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

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

          點個在看支持我吧
          瀏覽 29
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩一级黄色大片 | 舔逼逼 | 大香蕉网成人电影 | 大香蕉伊人丁香五天在线视频 | 黄色三级片在线啊不要 |