首頁 web前端 Vue.js 什麼是vue.js混入?

什麼是vue.js混入?

Nov 23, 2020 am 11:01 AM
vue.js

在vue.js中混入是一種分發Vue元件中可重複使用的功能的方法或計算屬性,用途:1、在已寫入了構造器後,需要增加方法或臨時的活動時使用的方法,這時用混入會減少原始碼的污染;2、用到公用方法時,用混入的方法可以減少程式碼量,實現程式碼重用。

什麼是vue.js混入?

  • 該方法適用於所有品牌的電腦。

混入 (mixins)定義了一部分可重複使用的方法或計算屬性。混入物件可以包含任意組件選項。當組件使用混入物件時,所有混入物件的選項將被混入該元件本身的選項。

Mixins一般有兩種用途:

1、在你已經寫好了構造器後,需要增加方法或臨時的活動時所使用的方法,這時用混入會減少原始碼的污染。

2、很多地方都會用到的公用方法,用混入的方法可以減少程式碼量,實作程式碼重複使用。

Mixins的基本用法

我們現在有個數字點擊遞增的程序,假設已經完成了,這時我們希望每次資料變化時都能夠在控制台列印出提示:「資料變更」.

程式碼實作過程:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <script type="text/javascript" src="../assets/js/vue.js"></script>
  <title>Mixins Option Demo</title>
</head>
<body>
  <h1>Mixins Option Demo</h1>
  <hr>
  <div id="app">
    <p>num:{{ num }}</p>
    <P><button @click="add">增加数量</button></P>
  </div>
 
  <script type="text/javascript">
    //额外临时加入时,用于显示日志
    var addLog={
      updated:function(){
        console.log("数据放生变化,变化成"+this.num+".");
      }
    }
    var app=new Vue({
      el:&#39;#app&#39;,
      data:{
        num:1
      },
      methods:{
        add:function(){
          this.num++;
        }
      },
      mixins:[addLog]//混入
    })
  </script>
</body>
</html>
登入後複製

mixins的呼叫順序

##從執行的先後順序來說,都是混入的先執行,然後構造器裡的再執行,需要注意的是,這不是方法的覆蓋,而是被執行了兩邊。

在上邊的程式碼的建構器裡我們也加入了updated的鉤子函數:

updated:function(){
   console.log("构造器里的updated方法。")
},
登入後複製

這時控制台輸出的順序是:


mixins數據放生變化,變化成2.

建構器裡的updated方法。

PS:當混入方法和建構器的方法重名時,混入的方法無法展現,也就是不起作用。

全域API混入方式

我們也可以定義全域的混入,這樣在需要這段程式碼的地方直接引入js,就可以擁有這個功能了。我們來看看全域混入的方法:

Vue.mixin({
  updated:function(){
    console.log(&#39;我是全局被混入的&#39;);
  }
})
登入後複製
PS:全域混入的執行順序要前於混入和建構器裡的方法。

相關推薦:


2020年前端vue面試題大匯總(附答案)

vue教程推薦:2020最新的5個vue.js影片教學精選

更多程式相關知識,請造訪:

程式設計入門! !

以上是什麼是vue.js混入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

深入探討vite是怎麼解析.env檔的 深入探討vite是怎麼解析.env檔的 Jan 24, 2023 am 05:30 AM

使用vue框架開發前端專案時,我們部署的時候都會部署多套環境,往往開發、測試以及線上環境呼叫的介面網域都是不一樣的。如何能做到區分呢?那就是使用環境變數和模式。

圖文詳解如何在Vue專案中整合Ace程式碼編輯器 圖文詳解如何在Vue專案中整合Ace程式碼編輯器 Apr 24, 2023 am 10:52 AM

Ace 是一個用 JavaScript 寫的可嵌入程式碼編輯器。它與 Sublime、Vim 和 TextMate 等原生編輯器的功能和效能相符。它可以很容易地嵌入到任何網頁和 JavaScript 應用程式中。 Ace 被維護為Cloud9 IDE的主要編輯器 ,並且是 Mozilla Skywriter (Bespin) 專案的繼承者。

vue中組件化和模組化有什麼區別 vue中組件化和模組化有什麼區別 Dec 15, 2022 pm 12:54 PM

組件化和模組化的區別:模組化是從程式碼邏輯的角度進行劃分的;方便程式碼分層開發,確保每個每個功能模組的職能一致。元件化是從UI介面的角度進行規劃;前端的元件化,方便UI元件的重複使用。

探討如何在Vue3中撰寫單元測試 探討如何在Vue3中撰寫單元測試 Apr 25, 2023 pm 07:41 PM

在當今前端開發中,Vue.js 已經成為了一個非常流行的框架。隨著 Vue.js 的不斷發展,單元測試變得越來越重要。今天,我們將探討如何在 Vue.js 3 中編寫單元測試,並提供一些最佳實踐和常見的問題及解決方案。

深入聊聊vue3中的reactive() 深入聊聊vue3中的reactive() Jan 06, 2023 pm 09:21 PM

前言:在vue3的開發中,reactive是提供實現響應式資料的方法。日常開發這個是使用頻率很高的api。這篇文章筆者就來探索其內部運作機制。

Vue中JSX語法和模板語法的簡單比較(優劣勢分析) Vue中JSX語法和模板語法的簡單比較(優劣勢分析) Mar 23, 2023 pm 07:53 PM

在Vue.js中,開發人員可以使用兩種不同的語法來建立使用者介面:JSX語法和範本語法。這兩種文法各有優劣,以下就來探討它們的差異和優劣勢。

怎麼查詢目前vue的版本 怎麼查詢目前vue的版本 Dec 19, 2022 pm 04:55 PM

查詢目前vue版本的兩種方法:1、在cmd控制台內,執行「npm list vue」指令查詢版本,輸出結果就是vue的版本號資訊;2、在專案中找到並開啟package.json文件,查找「dependencies」項目即可看到vue的版本資訊。

淺析Vue3動態組件怎麼進行異常處理 淺析Vue3動態組件怎麼進行異常處理 Dec 02, 2022 pm 09:11 PM

Vue3動態元件怎麼進行異常處理?以下這篇文章帶大家聊聊Vue3 動態元件異常處理的方法,希望對大家有幫助!

See all articles