将多个属性传递给Vue组件的几种方式

所有使用基于组件的体系结构(如Vue和React)的开发人员都知道,创建可重用组件是很困难的,而且大多数情况下,最终会通过传入大量的属性,以便从外部更容易地控制和自定义组件。这并不坏,但是传递大量属性确实会变得有点麻烦和丑陋。

攀枝花网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联建站2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站

我们以 vuetify 的按钮组件为例,它是最简单的组件之一。假设我们想要在大多数情况下传递相同的属性:

 
 
 
  1.   color='primary' 
  2.   href='https://alligator.io' 
  3.   small 
  4.   outline 
  5.   block 
  6.   ripple 
  7.   Hello Meat 
  8.  

将它们放在单独的文件中是有意义的,这个文件我们取名为props.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 函数

由于JSX 和 render 函数在渲染时为我们提供了更多的功能和灵活性,所以一次传递多个属性是相当容易的。

在 render 函数中:

 
 
 
  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.  

使用此技巧,我们无需在应用中的多个位置填充重复属性的模板,同时仍然可以使用受欢迎的模板标记。

总结

使用本文中提到的示例,可以简化将多个属性传递给组件的操作。这对于具有很多属性的表示性和第三方组件特别有用。

注意,这里使用的示例仅仅演示。如果想制作更加灵活可用的,可以根据具体情况使用更好的方法,例如创建自己的包装器组件。

分享标题:将多个属性传递给Vue组件的几种方式
转载注明:http://www.shufengxianlan.com/qtweb/news48/546348.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联