摘要:因?yàn)檫@里會(huì)舉一連串的例子,就直接用來作為組件名稱了。這是一個(gè)組件名稱定義的時(shí)候有一點(diǎn)需要注意的,就是要使用中劃線分詞。在組件的方法里面返回?cái)?shù)據(jù)就可以了。在的組件中間定義的內(nèi)容,就會(huì)被插入到的位置中去。敬請(qǐng)期待下一期,組件通信。
界面寫多了,大家應(yīng)該都會(huì)想到一個(gè)問題:JS的模塊寫好以后可以在多個(gè)地方重復(fù)使用,HTML有沒有辦法做到呢?Vue給了我們這個(gè)能力,使用組件,就可以輕松做到。
最簡單的組件初始化Vue實(shí)例之前,使用Vue.component方法注冊(cè)一個(gè)簡單的template,在HTML中,就可以直接使用。因?yàn)檫@里會(huì)舉一連串的例子,就直接用one、two、three來作為組件名稱了。
Vue.component("one", { template: "
組件名稱定義的時(shí)候有一點(diǎn)需要注意的,就是要使用中劃線分詞。比方說,我想新建一個(gè)叫l(wèi)ist item的組件,組件的名稱就需要是list-item,在HTML中使用的時(shí)候也一樣:
Vue.component("list-item", { template: "
可以。在組件的data方法里面返回?cái)?shù)據(jù)就可以了。跟Vue實(shí)例不一樣的是,組件的data對(duì)應(yīng)一個(gè)function,在組件中想要用到的數(shù)據(jù),需要從這個(gè)方法里面返回(返回的數(shù)據(jù)類型是對(duì)象)。
Vue.component("two", { template: "
可以。在組件中使用
item1 item2 item3
Vue.component("three", { template: "
可以。在
這是自定義的內(nèi)容
Vue.component("three", { template: "
使用具名
this is my awesome website
Vue.component("five", { template: "" + "" })" + // 設(shè)置slot的名稱為header "" + "" + " " + // 設(shè)置slot的名稱為content "" + "" + "
圖片中選中的這一行,因?yàn)樵贖TML中指定slot的時(shí)候使用了div tag所以文字被它包了起來,如果希望直接插入文字,可以使用template這個(gè)tag:
既然組件相當(dāng)于自定義了一個(gè)tag,那可以自定義tag的屬性嗎?this is my awesome website
可以的。使用component的props來設(shè)置吧。這里有一點(diǎn)千萬要記得,在props里面,是駝峰式分詞,但是,在HTML里面使用這個(gè)屬性的時(shí)候,需要用中劃線分詞,是中!劃!線!我最開始使用的時(shí)候,兩邊都習(xí)慣性地使用駝峰,結(jié)果死活沒有效果。最后才發(fā)現(xiàn)官方文檔有說明……
Vue.component("six", { props: ["userName"], template: "
可以。我們用計(jì)算屬性做例子吧。把屬性設(shè)定的文字轉(zhuǎn)換為全大寫。
Vue.component("six", { props: ["userName"], // 最后template中使用的是計(jì)算屬性 template: "
YES!直接用官方的一個(gè)雙向數(shù)據(jù)綁定的例子吧:
Vue.component("six", { props: ["userName"], template: "
當(dāng)然可以。我們直接上例子吧:
Vue.component("game-list", { template: "
這期的基本上把組件的基礎(chǔ)都過了一遍,視頻里面會(huì)附加套用boostrap的css做一個(gè)自己的組件的內(nèi)容。敬請(qǐng)期待下一期,組件通信。
寫在最后源碼地址:https://github.com/levblanc/v...
視頻攻略:小的不才,為求一贊,自制 本期視頻攻略 在此。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81328.html
摘要:在大家的鞭策和鼓勵(lì)下,這個(gè)基礎(chǔ)的系列終于完成了。關(guān)于更新的頻率,因?yàn)槭俏易约阂粋€(gè)人在做,文案視頻都準(zhǔn)備好了才發(fā)的話,最快也只能一周一更。最后這幾期可以密集地更新,完全是因?yàn)楣痉偶倭?。不過月份的更新速度真的不能保證,抱歉。 在大家的鞭策和鼓勵(lì)下,這個(gè)基礎(chǔ)API的系列終于完成了。所幸是沒有真的更到一百期才完結(jié)(笑)。最初是因?yàn)橛X得錄視頻好玩,才挖的這個(gè)坑。也想過中途放棄,關(guān)掉專欄,但由于...
摘要:我的目標(biāo)是使本系列成為關(guān)于應(yīng)用程序性能的完整指南。代碼分割就是將應(yīng)用程序分割成這些延遲加載的塊??偨Y(jié)延遲加載是提高應(yīng)用程序性能并減少其大小的最佳方法之一。在本系列的下一部分中,我將向您展示如何使用和路由來分割應(yīng)用程序代碼。 當(dāng)移動(dòng)優(yōu)先(mobile-first)的方式逐漸成為一種標(biāo)準(zhǔn),而不確定的網(wǎng)絡(luò)環(huán)境因素應(yīng)該始終是我們考慮的一點(diǎn),因此保持讓應(yīng)用程序快速加載變得越來越困難。在本系列文章...
摘要:現(xiàn)在,我們將更深入地研究,并學(xué)習(xí)用于分割應(yīng)用程序最實(shí)用的模式。本系列文章基于對(duì)性能優(yōu)化過程的學(xué)習(xí)。路徑時(shí)才被下載。為了便于理解,文件名稱并不是由生成的真實(shí)名稱。接下來,我們將學(xué)習(xí)其他部分和單獨(dú)的組件也能夠從主文件分割出來并延遲加載。 在前一篇文章中,我們學(xué)習(xí)了什么是代碼分割,它是如何與 Webpack 一起工作的,以及如何在Vue應(yīng)用程序中使用延遲加載?,F(xiàn)在,我們將更深入地研究,并學(xué)習(xí)...
摘要:靜態(tài)模塊不能被取消注冊(cè)也不能延遲注冊(cè),并且在初始化后不能更改靜態(tài)模塊的結(jié)構(gòu)不是狀態(tài)。為此,我們將在路由對(duì)應(yīng)的組件中加載模塊,而不是在中導(dǎo)入并注冊(cè)它。能代碼分割模塊是一個(gè)強(qiáng)大的工具。 在前一部分,我們學(xué)習(xí)了足夠強(qiáng)大的模式,可以顯著提高應(yīng)用程序的性能 - 按每個(gè)路由分割代碼。雖然按路由分割代碼非常有用,但是在用戶訪問我們的站點(diǎn)后,仍然有很多代碼是不需要的。在本系列的這一部分中,我們將重點(diǎn)關(guān)...
摘要:看這篇之前,如果沒有看過之前的文章,移步拉到文章末尾查看之前的文章。而該組件實(shí)例的父實(shí)例卻并不固定,所以我們將這些在使用時(shí)才能確定的參數(shù)在組件實(shí)例化的時(shí)候傳入。系列文章地址優(yōu)化優(yōu)化總結(jié) 看這篇之前,如果沒有看過之前的文章,移步拉到文章末尾查看之前的文章。 前言 在上一步,我們實(shí)現(xiàn) extend 方法,用于擴(kuò)展 Vue 類,而我們知道子組件需要通過 extend 方法來實(shí)現(xiàn),我們從測(cè)試?yán)?..
閱讀 3265·2021-11-18 10:02
閱讀 1468·2021-10-12 10:08
閱讀 1268·2021-10-11 10:58
閱讀 1285·2021-10-11 10:57
閱讀 1182·2021-10-08 10:04
閱讀 2138·2021-09-29 09:35
閱讀 787·2021-09-22 15:44
閱讀 1283·2021-09-03 10:30