欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇帶你搞懂Vue中的自定義指令

 更新時(shí)間:2023年07月31日 09:52:17   作者:前端碎碎念  
自定義指令,是Vue提供的一種擴(kuò)展和定制的機(jī)制,使開發(fā)者能夠在組件中直接操作DOM、處理事件、添加樣式等,并提供了與第三方庫集成的方式,定義指令使得Vue在處理交互和DOM操作時(shí)更加靈活和強(qiáng)大,本文將帶大家搞懂Vue中的自定義指令,需要的朋友可以參考下

自定義指令的設(shè)計(jì)原則

在 Vue 中,自定義指令是通過調(diào)用 Vue.directive 方法或使用 directive 函數(shù)來創(chuàng)建的。自定義指令可以在 Vue 組件的模板中直接使用,并且可以綁定到元素、組件或模板的各種屬性上。

自定義指令的設(shè)計(jì)遵循以下幾個(gè)核心原則:

  • 注冊指令: 使用 Vue.directive 方法或 directive 函數(shù)來注冊指令。這些方法接受兩個(gè)參數(shù):指令名稱和指令配置對象。指令名稱是一個(gè)字符串,用于在模板中綁定指令。指令配置對象包含一系列鉤子函數(shù)和其他配置選項(xiàng),用于定義指令的行為。
  • 鉤子函數(shù): 指令配置對象中的鉤子函數(shù)定義了指令的生命周期。常用的鉤子函數(shù)包括 bindmounted、update、componentUpdatedunbind。這些鉤子函數(shù)在指令的不同生命周期階段被調(diào)用,允許開發(fā)者在相應(yīng)的時(shí)機(jī)執(zhí)行自定義的邏輯。
  • 鉤子函數(shù)參數(shù): 指令的鉤子函數(shù)可以接受一些參數(shù),用于傳遞信息給指令的行為邏輯。常用的參數(shù)包括 el(指令所綁定的元素)、binding(一個(gè)對象,包含指令的綁定值、參數(shù)、修飾符等信息)、vnode(Vue 編譯生成的虛擬節(jié)點(diǎn))和 oldVnode(上一個(gè)虛擬節(jié)點(diǎn))等。
  • 修飾符: 修飾符是附加在指令后面的特殊標(biāo)記,用于修改指令的行為。Vue 提供了一些內(nèi)置的修飾符,如 .prevent、.stop.capture、.self 等,用于處理事件和事件修飾符。開發(fā)者也可以自定義修飾符,并在指令的行為邏輯中根據(jù)修飾符的值進(jìn)行相應(yīng)處理。

Vue 2 和 Vue 3 的自定義指令區(qū)別

Vue 3 的自定義指令在語法上與 Vue 2 的指令有一些不同,但核心概念和使用方式仍然相似。Vue 3 引入了 Composition API,并對指令的鉤子函數(shù)進(jìn)行了更細(xì)粒度的劃分,提供了更靈活和可控的指令編寫方式。以下是 Vue 2 和 Vue 3 的自定義指令之間的主要區(qū)別:

注冊方式

  • Vue 2:在 Vue 2 中,使用全局的 Vue.directive 方法來注冊自定義指令。指令名稱作為第一個(gè)參數(shù),指令配置對象作為第二個(gè)參數(shù)。
  • Vue 3:在 Vue 3 中,可以使用全局的 app.directive 方法或 directive 函數(shù)來注冊自定義指令。指令名稱作為第一個(gè)參數(shù),指令配置對象作為第二個(gè)參數(shù)。

指令鉤子函數(shù)

  • Vue 2:Vue 2 的指令鉤子函數(shù)包括 bind、inserted、updatecomponentUpdatedunbind。這些鉤子函數(shù)在指令的生命周期中不同的階段被調(diào)用。
  • Vue 3:Vue 3 的指令鉤子函數(shù)包括 beforeMount、mounted、beforeUpdateupdated、beforeUnmountunmounted。這些鉤子函數(shù)提供了更細(xì)粒度的控制,并與組件的生命周期鉤子函數(shù)保持一致。

鉤子函數(shù)參數(shù)

  • Vue 2:Vue 2 的指令鉤子函數(shù)的參數(shù)包括 el、bindingvnodeoldVnode。其中,binding 對象中包含了指令的綁定值、參數(shù)、修飾符等信息。
  • Vue 3:Vue 3 的指令鉤子函數(shù)的參數(shù)也包括 el、binding、vnodeprevVnode。prevVnode 是之前的虛擬節(jié)點(diǎn),用于在更新鉤子函數(shù)中進(jìn)行比較。

指令修飾符

  • Vue 2:Vue 2 的指令修飾符可以通過 v- 前綴使用,例如 v-on:click.stop。Vue 2 提供了一些內(nèi)置的事件修飾符,如 .stop、.prevent、.capture、.self 等。
  • Vue 3:Vue 3 的指令修飾符不再使用 v- 前綴,而是直接在指令后面使用,例如 @click.stop。Vue 3 內(nèi)置的事件修飾符仍然可用,但要與 @ 符號(hào)一起使用。

常見的自定義指令應(yīng)用場景

操作 DOM

自定義指令可用于直接操作 DOM 元素,例如設(shè)置樣式、添加類名、聚焦元素、滾動(dòng)等。這樣可以避免直接在組件中操作 DOM,保持組件的職責(zé)單一。

 <template> 
     <div> 
         <input v-focus /> 
     </div> 
 </template> 
<script> 
    // 自定義指令:聚焦元素 
    Vue.directive('focus', { 
        inserted(el) { 
            el.focus(); 
        } 
    }); 
</script>

事件處理

自定義指令可用于處理事件,如監(jiān)聽點(diǎn)擊事件、滾動(dòng)事件、拖拽事件等。通過自定義指令,可以封裝特定的事件處理邏輯,并在組件中復(fù)用。

在以下示例中,定義了一個(gè)自定義指令 v-draggable,它綁定在一個(gè)具有 draggable 類的元素上。當(dāng)鼠標(biāo)按下或觸摸開始時(shí),啟動(dòng)拖拽功能。在拖拽過程中,元素會(huì)跟隨鼠標(biāo)或手指的移動(dòng)而改變位置。當(dāng)鼠標(biāo)釋放或觸摸結(jié)束時(shí),停止拖拽。

    <template> 
        <div> 
            <div class="draggable" v-draggable> Drag me!</div> 
        </div> 
    </template>
    <script>
        // 自定義指令:拖拽 
        Vue.directive('draggable', { 
            bind(el) { 
                el.style.position = 'absolute'; 
                el.style.cursor = 'move'; 
                let offsetX = 0; 
                let offsetY = 0; 
                let isDragging = false; 
                el.addEventListener('mousedown', startDrag); 
                el.addEventListener('touchstart', startDrag);
                function startDrag(e) { 
                    e.preventDefault(); 
                    if (e.type === 'touchstart') { 
                        offsetX = e.touches[0].clientX - el.getBoundingClientRect().left; 
                        offsetY = e.touches[0].clientY - el.getBoundingClientRect().top; 
                    } else { 
                        offsetX = e.clientX - el.getBoundingClientRect().left; 
                        offsetY = e.clientY - el.getBoundingClientRect().top; 
                    }
                        isDragging = true; 
                        document.addEventListener('mousemove', handleDrag); 
                        document.addEventListener('touchmove', handleDrag); 
                        document.addEventListener('mouseup', stopDrag); 
                        document.addEventListener('touchend', stopDrag); 
                    }
                    function handleDrag(e) { 
                        e.preventDefault(); 
                        let x = 0; 
                        let y = 0; 
                        if (e.type === 'touchmove') { 
                            x = e.touches[0].clientX - offsetX; y = e.touches[0].clientY - offsetY; 
                        } else { 
                            x = e.clientX - offsetX; 
                            y = e.clientY - offsetY; 
                        } 
                            el.style.left = x + 'px'; 
                            el.style.top = y + 'px'; 
                    }
                  function stopDrag() { 
                      isDragging = false;
                      document.removeEventListener('mousemove', handleDrag); 
                      document.removeEventListener('touchmove', handleDrag);
                      document.removeEventListener('mouseup', stopDrag); 
                      document.removeEventListener('touchend', stopDrag); 
                } 
            } 
        });
    </script>
    <style> 
        .draggable { 
            width: 100px; 
            height: 100px; 
            background-color: #ccc; 
            text-align: center; 
            line-height: 100px; 
         } 
    </style>

表單驗(yàn)證

自定義指令可用于表單驗(yàn)證,例如檢查輸入是否滿足特定的條件、格式化輸入等。自定義指令可以在輸入框失去焦點(diǎn)或值變化時(shí)進(jìn)行驗(yàn)證,并給出相應(yīng)的提示信息。

在以下示例中,定義了一個(gè)自定義指令 v-validate,它用于驗(yàn)證表單輸入。通過指令的參數(shù)來指定驗(yàn)證類型,例如 required 表示必填字段,email 表示郵箱格式驗(yàn)證。

validateField 函數(shù)中,我們根據(jù)指令的參數(shù)進(jìn)行相應(yīng)的驗(yàn)證邏輯,并根據(jù)驗(yàn)證結(jié)果來顯示或隱藏錯(cuò)誤提示。

當(dāng)表單提交時(shí),我們在 submitForm 方法中檢查必填字段是否都已填寫。如果有未填寫的字段,我們將 showError 設(shè)置為 true,顯示錯(cuò)誤提示信息。否則,我們將 showError 設(shè)置為 false,執(zhí)行表單提交操作。

   <template> 
        <div> 
            <form @submit.prevent="submitForm"> 
                <label for="name">Name:</label> 
                <input id="name" v-model="name" v-validate.required /> 
                <label for="email">Email:</label> 
                <input id="email" v-model="email" v-validate.email /> 
                <button type="submit">Submit</button> 
            </form> 
            <p v-show="showError" class="error-message">Please fill in all the required fields.</p> 
        </div> 
   </template>
   <script>
       // 自定義指令:表單驗(yàn)證 
       Vue.directive('validate', { 
           bind(el, binding) { 
               const { value } = binding; 
               function validateField() { 
                   const inputValue = el.value; 
                   if (value === 'required' && !inputValue.trim()) { 
                       showError(true); 
                   } else if (value === 'email' && !validateEmail(inputValue)) { 
                       showError(true); 
                   } else { 
                       showError(false); 
                   } 
                 }
                el.addEventListener('blur', validateField);
                function showError(show) { 
                    el.classList.toggle('error', show); 
                } 
                function validateEmail(email) { 
                    const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 
                    return regex.test(email); 
                } 
             } 
        });
        export default { 
            data() { 
                return { 
                    name: '', 
                    email: '', 
                    showError: false 
                 }; 
            }, 
            methods: { 
                submitForm() { 
                    // 表單提交邏輯 
                    if (this.name && this.email) { 
                        // 執(zhí)行表單提交操作 
                        this.showError = false; 
                    } else { 
                        this.showError = true; 
                     } 
                   } 
                } 
           };
   </script>
   <style> 
       .error { 
           border-color: red; 
        } 
        .error-message { 
            color: red; 
            margin-top: 5px; 
        }
  </style>
  • 第三方庫集成: 自定義指令可用于與第三方庫進(jìn)行集成,如集成日期選擇器、富文本編輯器、圖表庫等。通過自定義指令,可以在組件中方便地使用第三方庫提供的功能。

以下是一個(gè)示例,展示如何使用自定義指令來集成日期選擇器(這里以 flatpickr 庫為例),在這個(gè)示例中,我們定義了一個(gè)自定義指令 v-datepicker,它用于將日期選擇器集成到輸入框中。我們使用了 flatpickr 這個(gè)第三方庫來實(shí)現(xiàn)日期選擇器的功能。

mounted 鉤子中,我們使用 flatpickr 函數(shù)將日期選擇器應(yīng)用到指令所在的輸入框上。我們可以通過配置對象來設(shè)置日期選擇器的選項(xiàng),例如日期格式、事件回調(diào)等。

在日期選擇器的 onChange 事件回調(diào)中,我們將選中的日期賦值給指令的綁定值 binding.value,以便在父組件中獲取選擇的日期值。

beforeUnmount 鉤子中,我們銷毀日期選擇器實(shí)例,以釋放資源并防止內(nèi)存泄漏。

    <template> 
        <div> 
            <input v-datepicker v-model="selectedDate" /> 
        </div> 
    </template>
    <script> 
        import flatpickr from 'flatpickr'; 
        // 自定義指令:集成 flatpickr 
        Vue.directive('datepicker', { 
            mounted(el, binding) { 
                flatpickr(el, { 
                    dateFormat: 'Y-m-d', 
                    onChange(selectedDates) { 
                        binding.value = selectedDates[0];
                    } 
           }); 
        }, 
        beforeUnmount(el) { 
            const flatpickrInstance = flatpickrInstance(el);
            if (flatpickrInstance) { 
                flatpickrInstance.destroy(); 
             } 
            } 
        }); 
  </script>

動(dòng)畫和過渡效果

自定義指令可用于處理動(dòng)畫和過渡效果,例如實(shí)現(xiàn)元素的淡入淡出、滑動(dòng)等效果。通過自定義指令,可以在元素的插入、更新、移除等過程中添加動(dòng)畫效果。

在以下示例中,我們定義了一個(gè)自定義指令 v-fade-transition,它用于為元素添加淡入淡出的過渡效果。

beforeMount 鉤子中,我們設(shè)置元素的初始透明度為 0,并添加過渡效果的 CSS 屬性。

mounted 鉤子中,我們將元素的透明度設(shè)置為 1,實(shí)現(xiàn)淡入效果。

beforeUnmount 鉤子中,我們將元素的透明度設(shè)置為 0,實(shí)現(xiàn)淡出效果。

在組件的模板中,我們使用 v-if 指令來控制元素的顯示與隱藏,同時(shí)將自定義指令 v-fade-transition 應(yīng)用在這個(gè)元素上,實(shí)現(xiàn)淡入淡出的過渡效果。

當(dāng)點(diǎn)擊按鈕時(shí),我們通過 toggleVisibility 方法來切換元素的顯示與隱藏。

   <template> 
        <div> 
            <button @click="toggleVisibility">Toggle</button> 
            <div v-if="isVisible" v-fade-transition> 
                Content 
            </div>
        </div> 
    </template>
    <script> 
        // 自定義指令:淡入淡出過渡效果 
        Vue.directive('fade-transition', { 
            beforeMount(el) { 
                el.style.opacity = '0'; 
                el.style.transition = 'opacity 0.5s';
            }, 
            mounted(el) { 
                el.style.opacity = '1'; 
            }, 
            beforeUnmount(el) { 
                el.style.opacity = '0'; 
            } 
        });
        export default { 
            data() { 
                return { 
                    isVisible: false 
                }; 
            }, 
            methods: { 
                toggleVisibility() { 
                    this.isVisible = !this.isVisible; 
                 } 
            } 
         }; 
      </script>
      <style> 
          .fade-transition { 
              transition: opacity 0.5s; 
          } 
      </style>

權(quán)限控制

自定義指令可用于權(quán)限控制,例如根據(jù)用戶的角色或權(quán)限,動(dòng)態(tài)顯示或隱藏某些元素。自定義指令可以根據(jù)用戶的權(quán)限信息,決定元素的可見性或可操作性。

在以下示例中,我們定義了一個(gè)自定義指令 v-permission,它用于根據(jù)用戶權(quán)限控制元素的可用性。

mounted 鉤子中,我們獲取指令的綁定值 permission,并檢查用戶的權(quán)限數(shù)組 userPermissions 是否包含該權(quán)限。如果用戶沒有該權(quán)限,我們禁用按鈕元素(el.disabled = true),添加禁用樣式類(el.classList.add('disabled')),并設(shè)置提示信息(el.title)。

在組件的模板中,我們在按鈕元素上使用 v-permission 指令,并將相應(yīng)的權(quán)限字符串作為指令的參數(shù),用于權(quán)限控制。

另外,我們使用 v-show 指令結(jié)合 isAdmin 數(shù)據(jù)屬性來控制管理員權(quán)限下的按鈕的顯示與隱藏。

   <template> 
        <div> 
            <button v-permission="'edit'">Edit</button>
            <button v-permission="'delete'">Delete</button> 
            <button v-permission="'create'" v-show="isAdmin">Create</button> 
        </div> 
   </template>
   <script> 
       // 模擬用戶權(quán)限 
       const userPermissions = ['edit', 'delete']; 
       // 自定義指令:權(quán)限控制 
       Vue.directive('permission', { 
           mounted(el, binding) { 
               const permission = binding.value; 
               if (!userPermissions.includes(permission)) {
               el.disabled = true; 
               el.classList.add('disabled'); 
               el.title = 'You do not have permission to perform this action'; 
            } 
          } 
      });
      export default { data() { 
          return { 
              isAdmin: true // 用戶是否是管理員 
           }; 
         } 
     }; 
  </script>
  <style> 
      .disabled { 
          opacity: 0.5; 
          cursor: not-allowed; 
       }  
  </style>

響應(yīng)式操作

自定義指令可用于監(jiān)聽數(shù)據(jù)的變化,并在數(shù)據(jù)變化時(shí)執(zhí)行相應(yīng)的操作。例如,自定義指令可以監(jiān)聽滾動(dòng)位置,根據(jù)滾動(dòng)位置改變某些元素的樣式或行為。

如下示例中,我們定義了一個(gè)自定義指令 v-scroll-spy,它用于監(jiān)聽容器元素的滾動(dòng)事件。

mounted 鉤子中,我們?yōu)槿萜髟靥砑恿?scroll 事件監(jiān)聽器,當(dāng)容器滾動(dòng)時(shí),會(huì)觸發(fā) handleScroll 方法。

beforeUnmount 鉤子中,我們移除了 scroll 事件監(jiān)聽器,以防止內(nèi)存泄漏。

handleScroll 方法中,我們通過 event.target.scrollTop 獲取到容器的滾動(dòng)位置,然后根據(jù)滾動(dòng)位置執(zhí)行相應(yīng)的操作。在這個(gè)示例中,當(dāng)滾動(dòng)位置大于 200px 時(shí),我們輸出一條日志。

在組件的模板中,我們使用 v-scroll-spy 指令應(yīng)用在一個(gè)滾動(dòng)容器上,并通過 v-for 指令渲染了幾個(gè)示例部分。

   <template> 
        <div v-scroll-spy> 
            <div class="section" v-for="section in sections" :key="section.id"> {{ section.content }} 
            </div> 
        </div> 
   </template>
   <script> 
       // 自定義指令:滾動(dòng)監(jiān)聽 
       Vue.directive('scroll-spy', { 
           mounted(el) { 
               el.addEventListener('scroll', this.handleScroll); 
           }, 
           beforeUnmount(el) { 
           el.removeEventListener('scroll', this.handleScroll); 
           },
           methods: { 
               handleScroll(event) { 
                   // 獲取滾動(dòng)位置 
                   const scrollTop = event.target.scrollTop; 
                   // 根據(jù)滾動(dòng)位置觸發(fā)不同的操作 
                   // 這里可以根據(jù)需要自定義滾動(dòng)監(jiān)聽的邏輯 
                   if (scrollTop > 200) { 
                        // 滾動(dòng)位置大于 200px 執(zhí)行操作 
                        console.log('Scrolled beyond 200px'); 
                      }
                     } 
                 } 
            });
            export default { 
                data() { 
                    return { 
                        sections: [ 
                            { id: 1, content: 'Section 1' }, 
                            { id: 2, content: 'Section 2' }, 
                            { id: 3, content: 'Section 3' } 
                         ] }; 
                     } 
              }; 
     </script>
     <style> 
         .section { 
             height: 200px; 
             margin-bottom: 20px; 
             border: 1px solid #ccc; 
             padding: 20px; 
          } 
     </style>

性能優(yōu)化

自定義指令可用于性能優(yōu)化,例如延遲加載、虛擬滾動(dòng)等。通過自定義指令,可以根據(jù)需要延遲加載某些元素或優(yōu)化滾動(dòng)的性能。 下面是一個(gè)示例,展示如何使用自定義指令實(shí)現(xiàn)滾動(dòng)監(jiān)聽實(shí)現(xiàn)圖片懶加載:

   <template> 
        <div> 
            <div class="image-container" v-scroll-lazy> 
                <img v-for="image in images" :key="image.id" :src="image.src" class="lazy-image" /> 
            </div> 
        </div> 
   </template>
   <script> 
       // 自定義指令:滾動(dòng)懶加載 
       Vue.directive('scroll-lazy', { 
           mounted(el) { 
               const lazyImages = el.querySelectorAll('.lazy-image'); 
               this.loadImagesOnScroll(lazyImages); 
               // 添加滾動(dòng)事件監(jiān)聽器 
               el.addEventListener('scroll', () => { 
                   this.loadImagesOnScroll(lazyImages); 
               }); 
              }, 
           beforeUnmount(el) { 
           // 移除滾動(dòng)事件監(jiān)聽器 
           el.removeEventListener('scroll', () => { this.loadImagesOnScroll(lazyImages); 
           }); 
        },
        methods: { 
            loadImagesOnScroll(lazyImages) {
                lazyImages.forEach(image => {
                    if (this.isImageVisible(image) && !image.src) { 
                        // 加載圖片 
                        image.src = image.dataset.src; 
                    } 
                }); 
             }, 
             isImageVisible(image) { 
                 const rect = image.getBoundingClientRect(); 
                 return ( 
                 rect.top >= 0 && 
                 rect.left >= 0 && 
                 rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && 
                 rect.right <= (window.innerWidth || document.documentElement.clientWidth) 
               ); 
             } 
           } 
      });
      export default { 
          data() { 
              return { 
                  images: [ 
                      { id: 1, src: '', dataSrc: 'image1.jpg' }, 
                      { id: 2, src: '', dataSrc: 'image2.jpg' }, 
                      { id: 3, src: '', dataSrc: 'image3.jpg' } 
                ] 
             }; 
          } 
      }; 
 </script>
 <style> 
     .image-container { 
         height: 300px; 
         overflow: auto; 
      } 
      .lazy-image { 
          width: 100%; 
          height: auto; 
       } 
 </style>

在這個(gè)示例中,我們定義了一個(gè)自定義指令 v-scroll-lazy,它用于在滾動(dòng)容器中實(shí)現(xiàn)圖片懶加載。

mounted 鉤子中,我們獲取到所有具有 .lazy-image 類的圖片元素,并通過 loadImagesOnScroll 方法進(jìn)行初始的圖片加載。然后,我們添加了滾動(dòng)事件監(jiān)聽器,在滾動(dòng)時(shí)繼續(xù)加載更多的圖片。

beforeUnmount 鉤子中,我們移除了滾動(dòng)事件監(jiān)聽器。

loadImagesOnScroll 方法中,我們遍歷每個(gè)圖片元素,檢查它是否可見并且尚未加載。如果是,則將 data-src 屬性的值設(shè)置為 src 屬性,觸發(fā)圖片加載。

isImageVisible 方法中,我們使用 getBoundingClientRect 方法來判斷圖片是否在可視區(qū)域內(nèi)。

在組件的模板中,我們使用 v-scroll-lazy 指令應(yīng)用在一個(gè)滾動(dòng)容器上,并通過 v-for 指令渲染了幾個(gè)示例圖片。每個(gè)圖片都有一個(gè) data-src 屬性,表示真實(shí)的圖片路徑。一開始,src 屬性為空,當(dāng)圖片進(jìn)入可視區(qū)域時(shí),會(huì)觸發(fā)圖片加載。

以上就是一篇帶你搞懂Vue中的自定義指令的詳細(xì)內(nèi)容,更多關(guān)于Vue自定義指令的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue中實(shí)現(xiàn)深度監(jiān)聽的方法小結(jié)

    Vue中實(shí)現(xiàn)深度監(jiān)聽的方法小結(jié)

    在Vue中,深度監(jiān)聽是一種非常常見且重要的功能,它可以讓我們監(jiān)聽對象內(nèi)部的所有屬性,并對這些屬性的變化做出相應(yīng)的處理,在本篇博客中,我將為大家介紹Vue中如何實(shí)現(xiàn)深度監(jiān)聽的方法,需要的朋友可以參考下
    2024-09-09
  • vue中@路徑無法跳轉(zhuǎn)到指定文件的解決

    vue中@路徑無法跳轉(zhuǎn)到指定文件的解決

    這篇文章主要介紹了vue中@路徑無法跳轉(zhuǎn)到指定文件的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue 項(xiàng)目集成 electron 和 electron 打包及環(huán)境配置方法

    vue 項(xiàng)目集成 electron 和 electron 打包及環(huán)境配

    文章介紹了如何使用Vue和Electron開發(fā)桌面端應(yīng)用,包括安裝Electron、配置package.json、創(chuàng)建main.js文件、運(yùn)行和打包應(yīng)用等步驟,并分享了一些常見的打包錯(cuò)誤及其解決方法,感興趣的朋友一起看看吧
    2025-01-01
  • 詳解swiper在vue中的應(yīng)用(以3.0為例)

    詳解swiper在vue中的應(yīng)用(以3.0為例)

    這篇文章主要介紹了詳解swiper在vue中的應(yīng)用(以3.0為例),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • Vue3在Setup中使用axios請求獲取的值方式

    Vue3在Setup中使用axios請求獲取的值方式

    這篇文章主要介紹了Vue3在Setup中使用axios請求獲取的值方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue項(xiàng)目因內(nèi)存溢出啟動(dòng)報(bào)錯(cuò)的解決方案

    vue項(xiàng)目因內(nèi)存溢出啟動(dòng)報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了vue項(xiàng)目因內(nèi)存溢出啟動(dòng)報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • VueCli3.0中集成MockApi的方法示例

    VueCli3.0中集成MockApi的方法示例

    這篇文章主要介紹了VueCli3.0中集成MockApi的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • vue3實(shí)現(xiàn)點(diǎn)擊空白區(qū)域隱藏div

    vue3實(shí)現(xiàn)點(diǎn)擊空白區(qū)域隱藏div

    這篇文章主要介紹了vue3實(shí)現(xiàn)點(diǎn)擊空白區(qū)域隱藏div方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 對vue生命周期的深入理解

    對vue生命周期的深入理解

    這篇文章主要給大家介紹了關(guān)于對vue生命周期的深入理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 解決vue build打包之后首頁白屏的問題

    解決vue build打包之后首頁白屏的問題

    下面小編就為大家分享一篇解決vue build打包之后首頁白屏的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論