天天看點

vue 判斷同一數組内的值是否一直_很多人不知道的 Vue 元件的隐藏知識點{{ title }}{{ title }}{{ title }}

在所有元件之下,元件隻是傳回一些HTML的函數。

這是一個強大的簡化,如果你曾研究過Vue代碼庫的複雜性,那麼你就會知道這實際上不是事實。但是從根本上講,這就是Vue為我們所做的事情。

看一下這個元件:

{{ title }}

Some words that describe this thing

Clickity click!

下面是用 Javascript 實作,它做了同樣的事情:

該代碼與Vue元件構造HTML 方式基本相同。當然,這裡沒有響應性,事件處理或其它一系列功能,但是擷取輸出的 HTML 是同一回事。

如果你從未想過以這種方式考慮元件,那很正常,很多人也沒有。

當你開始學習Vue時,會看到新的文法和所有這些神奇的東西,它們看起來與我們以前接觸過的任何東西都不太一樣。

依靠程式設計基礎

一旦真正意識到 Vue 元件實際上隻是函數,那麼我們就可以發現一些隐藏的知識點。

我們可以從學習 Javascript 或任何其他程式設計語言中學到的知識應用到 Vue 中。

例如,假設我們想學習如何編寫優雅和簡潔的Vue元件。我們可以将所學到的編寫幹淨 Javascript 的知識應用到Vue元件中。比如保持函數簡小,使用描述性名稱,等等

即使是學習類似的架構,如React或Angular,也是非常有用的練習。

現在讓我們看一個更詳細的例子。

以新的視角進行重構

假設有以下的一個元件:

{{ title }}

"navigation">

"item in list">

"item-title">         {{ item.title }}

"item-description">         {{ item.description }}

為簡化,我們将v-for内部的内容變成了一個新的元件,如下所示:

"item-title">       {{ item.title }}

"item-description">       {{ item.description }}

完成此操作後,我們将其替換為父元件,這使我們擺脫了多餘的嵌套:

{{ title }}

"navigation">

      v-for="item in list"       :item="item"     />

如果我們在寫Javascript,我們會用幾乎完全相同的方式來做這些。

下面是一個使用循環的例子

function 
           

在這裡,我們使用 DOM 方法擷取了類為

item

的所有元素,如果它們大于

500px

,則将

large

類添加其中。

這已經很好了,但是如果還要優化代碼,應該怎麼做呢

我的猜測是,你可能會把

for..of

的内容帶入一個新函數中:

如果你将元件看作是一個函數,那麼對于我們的優化會有更深入的了解。

他們一直在你腦海中,你隻是沒有意識到。

作者:Michael Thiessen  譯者:前端小智  來源:medium 來源:https://medium.com/js-dojo/vue-js-functional-components-what-why-and-when-439cfaa08713

vue 判斷同一數組内的值是否一直_很多人不知道的 Vue 元件的隐藏知識點{{ title }}{{ title }}{{ title }}

 相關推薦

最簡單的微前端實作方式【微前端實作的十種方式 】

幾個你不一定知道的超實用網絡狀态屬性

Vue 開發必須知道的 36 個技巧

消息未讀之點不完的小紅點設計思路(Node+Websocket)

使用Canvas實作一個線上發牌遊戲  [純前端、附源碼]

Kbone原了解析,小程式技術該如何選型?

Node.js結合ProtoBuffer,從零實作一個redis!

詳解 ES10 中 Object.fromEntries() 的緣起

JS執行上下文的兩個階段做了些啥?

讓你徹底掌握 TS 枚舉

遇到這些 TS 問題你會頭暈麼?

在 TS 中如何減少重複代碼

用上這幾招,輕松實作 TS 類型提取

TypeScript 期中考試現在開始

前端學習資料結構與算法系列(八):快速排序與三路快排

前端學習資料結構與算法系列(七):堆排序與歸并排序

前端學習資料結構與算法系列(六):選擇排序與插入排序

前端學習資料結構與算法系列(五):冒泡排序的了解與實作

前端學習資料結構與算法系列(四):哈希、堆和二叉查找樹

前端學習資料結構與算法系列(三):棧與隊列的基礎知識

前端學習資料結構與算法系列(二):連結清單與數組的基礎知識

前端學習資料結構與算法系列(一):初識資料結構與算法

騰訊文檔原來是這樣用 webpack5 的 Module federation 特性的!

絕大部分的開源項目都投入TypeScript了!你呢?

【收藏系列】JS靈魂之問(下) - 附個人成長經驗分享

【收藏系列】JS靈魂之問, 是否有offer看你接到多少個(中)

【收藏系列】JS靈魂之問, 請問你能接得住幾個?(上)

【JS進階深挖】完全弄懂資料類型轉換(上)

vue 判斷同一數組内的值是否一直_很多人不知道的 Vue 元件的隐藏知識點{{ title }}{{ title }}{{ title }}
vue 判斷同一數組内的值是否一直_很多人不知道的 Vue 元件的隐藏知識點{{ title }}{{ title }}{{ title }}

點在看的人特别帥/美

vue 判斷同一數組内的值是否一直_很多人不知道的 Vue 元件的隐藏知識點{{ title }}{{ title }}{{ title }}

繼續閱讀