<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>

          分享一些 Vue 的基礎(chǔ)知識點總結(jié)

          共 6245字,需瀏覽 13分鐘

           ·

          2022-06-28 14:44

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

          vue指令-v-model修飾符

          語法:

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

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

          計算屬性

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

          普通寫法

          computed: {
                  //屬性名字(計算屬性名稱)
                  //屬性的值(計算屬性處理函數(shù))
                  計算屬性名1 () {
                      // 對依賴的數(shù)據(jù)進(jìn)行處理,且進(jìn)行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

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

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

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

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

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

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

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

          組件進(jìn)階-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ù)制代碼

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

          格式

          定義:<slot name="xxx">

          使用:

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

          自定義指令-基本使用

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

          自定義指令-傳值和更新

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

          需求: 定義color指令-傳入一個顏色, 給標(biāo)簽設(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指令控制顏色, 點擊變藍(lán)</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

          最后


          歡迎關(guān)注「前端達(dá)人
          瀏覽 11
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  天堂成人在线观看 | 一本道高清无码视频 | 嫩草 嫩草69 | 欧美性爱中文字幕 | 五月不婷婷深爱月天 |