Насколько мне известно, нет встроенного способа сделать это.Тем не менее, вы можете попытаться предупредить разработчика, используя функцию ElementRef
:
import { Component, ElementRef } from '@angular/core'
@Component({
selector: 'app-new-selector,app-old-selector',
templateUrl: './component.html'
})
export class MyComponent {
constructor(elem: ElementRef) {
if (elem.nativeElement.tagName.toLowerCase() === 'app-old-selector') {
console.warn(`'app-old-selector' selector is deprecated; use 'app-new-selector' instead.`);
}
}
}
В качестве альтернативы, если вам нужна эта функция для повторного использования и вы хотите обеспечить согласованность всей вашей библиотеки, вы можете сделатьинъекционная услуга, как это:
import { Injectable } from '@angular/core';
@Injectable()
export class Deprecator {
warnDeprecatedSelector(elem: ElementRef, oldSelector: string, newSelector: string) {
if (elem.nativeElement.tagName.toLowerCase() === oldSelector) {
console.warn(`'${oldSelector}' selector is deprecated; use '${newSelector}' instead.`);
}
}
}
import { Component, ElementRef } from '@angular/core'
@Component({
selector: 'app-new-selector,app-old-selector',
templateUrl: './component.html'
})
export class MyComponent {
constructor(elem: ElementRef, deprecator: Deprecator) {
deprecator.warnDeprecatedSelector(elem, 'app-old-selector', 'app-new-selector');
}
}