vue 元件的建立與傳值

2021-10-23 02:01:37 字數 3155 閱讀 4933

一、元件的建立

區域性元件

1.建立乙個檔案,建立子元件

2.在主元件script標籤內直接引入[

import 自定義元件名 from

"子元件路徑"

]import toptitle from

"./component/systemtoptitle"

;3.註冊元件 將子元件掛載在主元件上 在export

default中 component屬性中註冊

//註冊方式一:

components:

//註冊方式二:

components:

4.註冊完成過後,使用元件

//註冊方式一使用:

<

/v-toptitle>

//註冊方式二使用:

<

/toptitle>

全域性元件

1.建立乙個檔案,建立元件

2.在main.js中引入該元件 import 自定義元件名 from

"元件檔案路徑"

import gettime from

"./component/child/gettime"

3.註冊 vue.

component

("自定義標籤名"

,引入時定義的元件變數名)

; vue.

component

("v-times"

,gettime)

;//若沒有單獨定義全域性元件檔案時,則跳過上述步驟,直接寫為

vue.

component

("v-times",}

",//元件模板

data()

}});

4.使用

<

/v-times>

二、元件間傳值父子元件傳值

子元件定義props屬性 接收父元件傳遞的值

1.方法一:這種方法對傳遞的資料型別沒有要求

props:

["logoimage"

,"sysname"];

2.方法二:約束資料型別的方法

props:

,3. 方法三:約束資料型別及預設值 如果父元件沒有傳遞資料 走預設值 傳遞資料 走傳遞的值

props:

,"sysname":,

"parentinfo"

:object,

}

demo

//子元件

"logo"

>

//這個案例中 子元件的logoimage sysname由父元件傳遞而得

="logoimg"

:src=

"logoimage" alt=

"">

//動態繫結路徑

="logoname"

>

}<

/span>

<

/div>

<

/template>

export

default

,"sysname":,

"parentinfo"

:object,}}

<

/script>

//父元件

"title"

>

<

!-- v-logo中的 屬性名稱 應與子元件中的 props[

] 中的屬性名稱保持一致--

>

"logo"

:sysname=

"name"

>

<

/v-logo>

<

/div>

<

/template>

import logo from

"./child/logo"

;//引入子元件

export

default

,data()

}<

/script>非父子元件傳值 :$emit $on

<

!--為實現非父子元件的值傳達 需要new乙個物件--

>

vue.prototype.emitevent =

newvue()

;

1.元件1傳遞資料

this

.emitevent.

$emit

("go-event",)

2.元件2接收資料

this

.emitevent.

$on(

"go-event"

,function

(result)

)

三、子父元件的相互獲取子元件內獲取整個父元件

// 方法一:通過父元件給子元件屬性值實現 

1.子元件中props中定義:

props:

2.父元件中使用子元件時屬性parentinfo賦值為this

,this指當前父元件

"this"

>

3.在子元件中輸出

console.

log(

this

.parentinfo)

;//獲得整個父元件

//方法二:在子元件中使用this.$parent獲取

let parentdata=

this

.$parent;

//獲取到當前子元件的父元件、

父元件中獲取子元件

1.在父元件中子元件的標籤上新增ref屬性  

"logolist"

>

<

/v-logo>

//logolist自定義名稱

2.獲取:this

.$refs

let logoinfo=

this

.$refs.logolist;

//獲取到的是整個logo子元件

vue變數傳值 vue元件與元件之間傳值

如上圖所示,2是1的子元件,1是3的父元件,2和3是兄弟元件 html 子元件註冊 vue.component list group 父元件 new vue 綜上所述,父元件向子元件傳值需要三步 1 首先在父元件中建立資料 2 然後再html 中用 繫結資料 3 最後在子元件註冊的 中用props接...

Vue元件的建立和傳值

建立元件的3種方法 第一種 vue.extend 函式返回乙個元件的構造器,裡面包含乙個引數,引數是物件,物件裡面是一些配置項 vue.component 函式利用vue.extend 返回的構造器建立乙個元件的例項,有兩個引數.引數1 元件名字,引數2 元件構造器 注意 模板template中只能...

vue 建立元件 模板 動態元件 傳值

lesson10 1.demo vue樣本 3.模板 template 1 template 有且只能有乙個根元素。2 將你要掛載的元素進行替換操作。3 模板當中可以使用指令,data,methods等等都可以使用 注意 當你實現化vue例項時,他會看是否有模板,如果有會將你掛載的元素替換。如果沒有...