1. 程式人生 > >Vue自定義元件及元件的註冊方法

Vue自定義元件及元件的註冊方法

為了能在模板中使用,這些元件必須先註冊以便 Vue 能夠識別。這裡有兩種元件的註冊型別:全域性註冊區域性註冊。至此,我們的元件都只是通過Vue.component全域性註冊的:

Vue.component('component-name', {
  // ... options ...
})

該元件名Vue.component就是的第一個引數。

註冊分為全域性註冊和區域性註冊:

1.全域性註冊:

全域性註冊的元件可以用在其被註冊之後的任何 (通過new Vuew({ })) 新建立的 Vue 根例項,也包括其元件樹中的所有子元件的模板中。

<script>
    Vue.component("jishuqi",{
        data:function () {
                return {
                    count:0
                }
        },
        template:'<button v-on:click="count+=1">點選了{{count}}次</button>'
    })
  Vue.component("jishuqi2",{})
  Vue.component("jishuqi3",{})
  Vue.component("jishuqi4",{})
 var v=new Vue({
        el:"#pp"
    })
</script>
<div id="pp">
    <jishuqi></jishuqi>
    <jishuqi2></jishuqi2>
    <jishuqi3></jishuqi3>
    <jishuqi4></jishuqi4>
</div>
在所有子元件中也是如此,也就是說這三個元件在各自內部也都可以相互使用。

2.區域性註冊

全域性註冊往往是不夠理想的。比如,如果你使用一個像 webpack 這樣的構建系統,全域性註冊所有的元件意味著即便你已經不再使用一個元件了,它仍然會被包含在你最終的構建結果中。這造成了使用者下載的 JavaScript 的無謂的增加。

var ComponentA = { /* ... */ }
var ComponentB = { /* ... */ }
var ComponentC = { /* ... */ }
然後在conponents選項中定義你想要使用的元件:
new Vue({
  el: '#app'
  components: {
    'jishuqi1': Jishuqi1,
    'jishuqi2': Jishuqi2,
    'jishuqi3': Jishuqi3
  }
})

對於components物件中的每個屬性來說,其屬性名就是自定義元素的名字,其屬性值就是這個元件的選項物件。

注意區域性註冊的元件在其子元件中不可用。

如果你希望 Jishuqi1 在 Jishuqi2 中可用,則你需要這樣寫:

var Jishuqi1 = { /* ... */ }

var Jishuqi2 = {
  components: {
    'jishuqi1': Jishuqi1
  },
  // ...
}







相關推薦

vue定義form控制元件,解決vue+layui組合時checkbutton和radiobutton事件被覆蓋問題

vue+layui組合時checkbutton和radiobutton事件會被layui覆蓋,導致資料無法繫結,需要自定義form表單控制元件,如下: VRadio.vue <template&

vue定義進度條的製作方法(含css屬性值的兩種動態改變方式)

雛形部分接上一篇文章:https://blog.csdn.net/ColourfulTiger/article/details/82910505 結合vue製作自定義的進度條,優勢在於採用了vue特有的樣式繫結,與雙向繫結的方法,達到資料與進度條的進度一致。 突破點:通過變數來動態改變屬性對

Vue定義元件元件註冊方法

為了能在模板中使用,這些元件必須先註冊以便 Vue 能夠識別。這裡有兩種元件的註冊型別:全域性註冊和區域性註冊。至此,我們的元件都只是通過Vue.component全域性註冊的:Vue.component('component-name', { // ... option

vue定義日期元件的實現

實現一個日期元件,如圖: components.js程式碼如下: Vue.component('sc-calendar',{ template:'<div class="scCalendar">' + '<div class="calendar_header">

[Swift4.2實際操作]九、完整例項-(7)登入頁面:建立定義檢視相關元件

本文將開始建立登入頁面,首先建立該頁面所需的一些自定義元件:做為登入按鈕的自定義檢視物件。在【RegLogin】組的名稱上點選滑鼠右鍵,開啟右鍵選單。【New File】->【Cocoa Touch Class】建立新檔案【RegButton.swift】Name:RegButtonSubclass:S

Vue定義元件實現按鈕許可權功能

在這之前請看我上一篇部落格https://blog.csdn.net/qq_41594146/article/details/83381964,這裡有思路和資料庫設定,之前做的是沒有元件化,也就是單純的v-for迴圈直接顯示,剛剛寫了按鈕許可權的元件,現在貼上程式碼\ var myBu

vue定義元件實現v-model雙向繫結

vue中父子元件通訊,都是單項的,直接在子元件中修改prop傳的值vue也會給出一個警告,接下來就用一個小列子一步一步實現了vue自定義的元件實現v-model雙向繫結,父元件值變了子元件也會跟著變,子元件中傳過來的值變了,父元件值也會跟著變化。如有錯誤的地方歡迎評論指出 父級元件

[轉] vue定義元件(通過Vue.use()來使用)即install的使用

在vue專案中,我們可以自定義元件,像element-ui一樣使用Vue.use()方法來使用,具體實現方法: 1.首先新建一個Cmponent.vue檔案 // Cmponent.vue<template> <div> 我是元件 </div></template

使用vue定義元件實現樹形列表

最近公司做新專案用的是vue,有一個功能做一個樹形列表由於之前一直用的是jquery操作dom,剛接觸vue走了不少彎路,特意寫部落格記錄一下 一、js自定義一個元件       <script type="text/template" id

Vue入門和基礎——Vue定義元件基礎

Vue入門和基礎(五) 前言:vue官網上關於vue元件的介紹,感覺內容很多很詳細,這裡介紹vue元件的一些基本使用方法。 1:註冊元件 首先vue的元件註冊就是使用Vue.component()方法,先定義元件的名字,然後傳入這個元件的配置項。詳細程式碼如下: <div i

小程式定義元件元件間兩種通訊方式

小程式經常會用到自定義元件,今天來說下五星評論自定義元件,可以單純顯示評分也可以進行評分,及元件間兩種通訊方式 一、在你的專案中根目錄新建components目錄,在components目錄下新建starComment目錄,然後右鍵點選新建Component,會出現如下目錄結構 二、在starComp

vue 定義元件(父級,子級元件)傳參

import material from 'alert';//引入子元件,子元件路徑 export default { data() { return {} }, //註冊元件 components: { alert: alert, }

C# Winform中定義篩選帶統計行的Datagridview控制元件

網上分享有很多種自制DGV控制元件,都有不小的缺陷。 沒辦法,按需求自己定製了一個。 一、過濾方面類似於Excel的篩選功能。支援右鍵選單篩選,同時也支援在文字框輸入文字按焦點列進行篩選;  二、統計行我採用的是雙Datagridview方案。在構建控制元件時加入一個Dock為Bottom的子Datagr

【轉】WPF定義控制元件與樣式(5)-Calendar/DatePicker日期控制元件定義樣式擴充套件

一.前言   申明:WPF自定義控制元件與樣式是一個系列文章,前後是有些關聯的,但大多是按照由簡到繁的順序逐步釋出的等。 本文主要內容: 日曆控制元件Calendar自定義樣式; 日期控制元件DatePicker自定義樣式,及Label標籤、水印、清除日期功能擴充套件; 二.Calend

vue定義元件製作div拖動

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title&

vue定義元件和列表迴圈--vue學習筆記

<div id="app"> <shaoyou v-for='item in listData' v-bind:myProps='item' v-bind:ke

Vue 定義彈出框元件(類似淘寶選擇規格)

  底部選擇 實現效果 1.彈出效果新增動畫 2.直接呼叫元件,呼叫方法為: <select-rules ref="colorSelect" :price="price" :mainPic="mianUrl" @getCartNum="getC

Vue定義元件通過v-model實現父子元件雙向同步通訊

在vue官網2.2.0的api新增的model選項,可以幫助我們實現父子同步通訊。 1. model model的型別定義如下,它有兩個屬性prop,event.一個元件上的v-model會把 value用作 prop把 input用作 event 型別:{ prop?:

vue定義下拉框元件

<template> <div class="selection-component"> <div class="selection-show" @click="toggleDrop"> <span :class="{'active': isDr

Vue元件間通訊2--Vue定義事件

自定義事件方式一(常用) 1、給TodoHeader標籤物件繫結addTodo事件監聽 2、觸發自定義事件:addTodo  自定義事件方式二 1、給<TodoHeader>繫結addTodo事件監聽 2、觸發自定義事件:addTodo