angular - 如何将组件选择器标记为已弃用?

标签 angular selector deprecated

我有一个组件

@Component({
  // todo the app-old-selector selector must be removed in the next version
  selector: 'app-new-selector,app-old-selector',
  templateUrl: './component.html'
})
export class Component {
}

通知开发人员 app-old-selector 已弃用的最佳方式是什么?

最佳答案

也许你可以在你的组件代码中写这样的东西:

import { Component, ElementRef } from '@angular/core'

@Component({
 selector: 'app-new-selector,app-old-selector',
 templateUrl: './component.html'
})
export class YourComponent {
    constructor(elem: ElementRef) {
        const tagName = elem.nativeElement.tagName.toLowerCase();
        if (tagName === 'app-old-selector') {
           console.warn('message');
        }
    }
}

这意味着我们只是将当前启动的组件的标签名称与表示弃用值的字符串进行比较。如果它们相等 - 这意味着您现在需要通知开发人员。

这是一个有效的 Stackblitz example .在控制台打开的情况下随意运行它。

关于angular - 如何将组件选择器标记为已弃用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54482925/

相关文章:

javascript - 无法获得 Karma 来运行我的 Angular2 测试

javascript - 在 Angular 2 中跨组件共享事件驱动变量

angular - iOS11 Cordova Angular 4 wrap breaking SecurityError : history. replaceState()

angular - 突出显示 Angular 项目弃用的导入/部件

javascript - 为什么 Redux 中的对象应该是不可变的?

reactjs - 规范化状态的 Redux 选择器

objective-c - C 函数可以用作 Cocoa 中的选择器吗?

javascript - 如何使用可变 CSS 选择器

java - 为什么不推荐使用 java.io.File?

c++ - 如何摆脱 g++ hash_map 弃用警告?