【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路!
有一种很常见的情况:有两个异常类似的组件,他们的根本功能是一样的,但他们之间又存在着足够的差别性,此时的你就像是来到了一个分岔路口:我是把它拆分成两个不合的组件呢?照样保存为一个组件,然后经由过程props传值来创造差别性大年夜而进行区分呢?
全局Mixin被注册到了每个迪?鏖件上。是以,它们的应用处景极其有限并且在应用的时刻我们须要异常当心。一个我能想到的用处就是类似于插件,你须要付与它拜访所有器械的权限。但即使在这种情况下,我也对你正在做工作的充斥当心,尤其当你计算为应用增长通能的时刻,如许做可能对你来说是个潘多拉的盒子。
两种解决筹划都不敷完美:如不雅拆分成两个组件,你就不得不冒着一旦功能更改就要在两个文件中更新代码的风险,这违背了 DRY 原则。反之,太多的props传值会很快变得纷乱不堪,大年夜而迫使保护者(即便这小我是你)在应用组件的时刻必须懂得一大年夜段的高低文,拖慢写码速度。
基本实例
我们有一对不合的组件,它们的感化是经由过程切换状况(Boolean类型)来展示或者隐蔽模态框或提示框。这些提示框和模态框除了功能类似以外,没有其他合营点:它们看起来不一样,用法不一样,然则逻辑一样。
- // 模态框
- const Modal = {
- template: '#modal',
- data() {
- return {
- isShowing: false
- }
- },
- methods: {
- toggleShow() {
- this.isShowing = !this.isShowing;
- }
- },
- components: {
- appChild: Child
- }
- }
- // 提示框
- const Tooltip = {
- template: '#tooltip',
- data() {
- return {
- isShowing: false
- }
- },
- methods: {
- toggleShow() {
- this.isShowing = !this.isShowing;
- }
- },
- components: {
- appChild: Child
- }
- }
我们可以在这里提取逻辑并创建可以被重用的项:
推荐阅读
(1)企业已经是一个数字实体,如不雅想大年夜中获益,就由本身决定。查看竽暌姑户应用的是什么设备?他们有两种或多种办法可以连接到营业体系中吗?最重要的是,企业是在做什么来许可或优化他们的经验吗?企业的用户已经>>>详细阅读
本文标题:在Vue.js中使用Mixin
地址:http://www.17bianji.com/lsqh/36223.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示