日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
將多個屬性傳遞給Vue組件的幾種方式

所有使用基于組件的體系結(jié)構(gòu)(如Vue和React)的開發(fā)人員都知道,創(chuàng)建可重用組件是很困難的,而且大多數(shù)情況下,最終會通過傳入大量的屬性,以便從外部更容易地控制和自定義組件。這并不壞,但是傳遞大量屬性確實會變得有點麻煩和丑陋。

攀枝花網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)建站。

我們以 vuetify 的按鈕組件為例,它是最簡單的組件之一。假設我們想要在大多數(shù)情況下傳遞相同的屬性:

 
 
 
  1.   color='primary' 
  2.    
  3.   small 
  4.   outline 
  5.   block 
  6.   ripple 
  7.   Hello Meat 
  8.  

將它們放在單獨的文件中是有意義的,這個文件我們?nèi)∶麨閜rops.js

 
 
 
  1. export const buttonProps = { 
  2.   color: 'primary', 
  3.   small: true, 
  4.   outline: true, 
  5.   block: true, 
  6.   ripple: true, 
  7.   href: 'https://alligator.io' 

JSX 和 render 函數(shù)

由于JSX 和 render 函數(shù)在渲染時為我們提供了更多的功能和靈活性,所以一次傳遞多個屬性是相當容易的。

在 render 函數(shù)中:

 
 
 
  1. import { buttonProps as props } from './props.js'; 
  2.  
  3. export default { 
  4.   render: h => h( 
  5.     'v-btn', 
  6.     { props }, 
  7.     'Hello Meat' 
  8.   ) 
  9. }; 

在 JSX 中:

 
 
 
  1. import { buttonProps as props } from './props.js'; 
  2.  
  3. const data = { props } 
  4.  
  5. export default { 
  6.   render: h => Hello Meat 
  7. }; 

使用 Vue.js 模板

使用Vue template怎么樣?不用擔心,那也是可能的。我們所需要做的就是使用v-bind指令。對于必須在組件的data選項中定義的對象,它將綁定所有屬性

 
 
 
  1.  
  2.  
  3.  

使用此技巧,我們無需在應用中的多個位置填充重復屬性的模板,同時仍然可以使用受歡迎的模板標記。

總結(jié)

使用本文中提到的示例,可以簡化將多個屬性傳遞給組件的操作。這對于具有很多屬性的表示性和第三方組件特別有用。

注意,這里使用的示例僅僅演示。如果想制作更加靈活可用的,可以根據(jù)具體情況使用更好的方法,例如創(chuàng)建自己的包裝器組件。


分享題目:將多個屬性傳遞給Vue組件的幾種方式
標題鏈接:http://m.5511xx.com/article/dhgddog.html