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