作家
登录

在Vue.js中使用Mixin

作者: 来源: 2017-07-14 12:33:06 阅读 我要评论

【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路!


有一种很常见的情况:有两个异常类似的组件,他们的根本功能是一样的,但他们之间又存在着足够的差别性,此时的你就像是来到了一个分岔路口:我是把它拆分成两个不合的组件呢?照样保存为一个组件,然后经由过程props传值来创造差别性大年夜而进行区分呢?

全局Mixin被注册到了每个迪?鏖件上。是以,它们的应用处景极其有限并且在应用的时刻我们须要异常当心。一个我能想到的用处就是类似于插件,你须要付与它拜访所有器械的权限。但即使在这种情况下,我也对你正在做工作的充斥当心,尤其当你计算为应用增长通能的时刻,如许做可能对你来说是个潘多拉的盒子。

两种解决筹划都不敷完美:如不雅拆分成两个组件,你就不得不冒着一旦功能更改就要在两个文件中更新代码的风险,这违背了 DRY 原则。反之,太多的props传值会很快变得纷乱不堪,大年夜而迫使保护者(即便这小我是你)在应用组件的时刻必须懂得一大年夜段的高低文,拖慢写码速度。

基本实例

我们有一对不合的组件,它们的感化是经由过程切换状况(Boolean类型)来展示或者隐蔽模态框或提示框。这些提示框和模态框除了功能类似以外,没有其他合营点:它们看起来不一样,用法不一样,然则逻辑一样。

  1. // 模态框 
  2.  
  3. const Modal = { 
  4.  
  5.   template: '#modal'
  6.  
  7.   data() { 
  8.  
  9.     return { 
  10.  
  11.       isShowing: false 
  12.  
  13.     } 
  14.  
  15.   }, 
  16.  
  17.   methods: { 
  18.  
  19.     toggleShow() { 
  20.  
  21.       this.isShowing = !this.isShowing; 
  22.  
  23.     } 
  24.  
  25.   }, 
  26.  
  27.   components: { 
  28.  
  29.     appChild: Child 
  30.  
  31.   } 
  32.  
  33.  
  34.   
  35.  
  36. // 提示框 
  37.  
  38. const Tooltip = { 
  39.  
  40.   template: '#tooltip'
  41.  
  42.   data() { 
  43.  
  44.     return { 
  45.  
  46.       isShowing: false 
  47.  
  48.     } 
  49.  
  50.   }, 
  51.  
  52.   methods: { 
  53.  
  54.     toggleShow() { 
  55.  
  56.       this.isShowing = !this.isShowing; 
  57.  
  58.     } 
  59.  
  60.   }, 
  61.  
  62.   components: { 
  63.  
  64.     appChild: Child 
  65.  
  66.   } 
  67.  
  68.  

我们可以在这里提取逻辑并创建可以被重用的项:

  1.  1/4    1 2 3 4 下一页 尾页

      推荐阅读

      如何改变数字化转型前后的管理观念

    (1)企业已经是一个数字实体,如不雅想大年夜中获益,就由本身决定。查看竽暌姑户应用的是什么设备?他们有两种或多种办法可以连接到营业体系中吗?最重要的是,企业是在做什么来许可或优化他们的经验吗?企业的用户已经>>>详细阅读


    本文标题:在Vue.js中使用Mixin

    地址:http://www.17bianji.com/lsqh/36223.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)