Использование атрибутов html title
в качестве @Input()
приводит к странным результатам.
пример выполнения: https://stackblitz.com/edit/angular-apd2mf
Hello .component.ts
@Component({
selector: 'hello',
template: `<h1>Hello {{title}}{{name}}!</h1>`,
styles: [`h1 { font-family: Lato; }`]
})
export class HelloComponent {
@Input() name: string;
@Input() title: string;
}
app.component.ts
@Component({
selector: 'my-app',
template: `
<hello name="{{ name }}" title="Mr. "></hello>
<p>Start editing to see some magic happen :)</p>
`,
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
}
результат ![enter image description here](https://i.stack.imgur.com/TyKO1.png)
Проблема здесь заключается в том, что я вижу значение title
, введенное при наведении курсора в любом месте заголовка. Я знаю, что могу избежать этого, используя его как
<hello name="{{ name }}" [title]="'Mr. '"></hello>
Но есть ли причина, по которой angular присоединяет атрибут, даже если я объявляю его как вход?