Мне не удалось создать успешный планер для этого, поэтому я все равно пытаюсь спросить об этом, основываясь на описании. У нас есть компонент NG, который использует привязку хоста для привязки свойства значка к svg xlink: href.
@Component({
selector: 'use', // tslint:disable-line
template: ``
})
export class SohoIconUseComponent {
// This works but we cant use it because it fails on Safari 12
// @HostBinding('attr.href') get href(): string {
// return '#' + this.icon;
// }
// This does not work
@HostBinding('attr.xlink:href') get xhrefLink(): string {
return '#' + this.icon;
}
@Input() icon: string;
}
Так что, как только мы обновились до NG 9 и включили Ivy, наши иконки перестали работать. Но если мы отключим ivy, он будет работать либо с href, либо с xlink: href.
Пробовал искать ошибки в репозитории Ng, но, похоже, просто не могу это выяснить? Есть какие-нибудь идеи?
Одна идея, которая у меня есть, заключается в том, что вы должны использовать setAttributeNS
, чтобы иногда устанавливать xlink: href. Интересно, нужно ли мне связывать hostbinding другим способом, чтобы его установить, используя setAttributeNS
?