高级 Angular 组件模式 (4)
04 Avoid Namespace Clashes with Directives原文: Avoid Namespace Clashes with Directives 提示在同一个 命名冲突不仅存在于指令的选择器之间,同时也会存在于指令的 目标避免存在于绑定在相同元素上的多个指令上的命名冲突。 实现因为 首先我们设置一个 <toggle label="some label"> 这个 Angular官方提供的规范指南也警示了这一点,当你在使用 Note: 当使用 增加 // In withToggle.directive.ts @Input('withToggleLabel') label; // In toggle.directive.ts @Input('toggleLabel') label; 但是这种解决方案的前提时,你至少能够更改存在命名冲突中的一个或多个指令的源码。如果在两个第三方库中存在命名冲突,这种情况是最棘手的,我们不在这里讨论它们。 成果在线代码演示(自备梯子): https://stackblitz.com/edit/adv-ng-patterns-04-namespace-clashes 译者注原文中关于最后一段提出的关于在多个第三方库中存在的命名冲突的场景,作者提供做出具体的解决方案,我在这里简单分享一下自己对于这种情况的解决方案: 通常这种情况比较少见,但是万一存在这种情况,我们可以通过创建一个新的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |