javascript - Angular 5 - 在 Angular 应用程序中使用 altmetric 徽章会出现 Uncaught Error : Template parse errors

标签 javascript angular typescript

我正在尝试使用Altmetric Badge根据 https://api.altmetric.com/embeds.html 中的文档在我的应用程序中

在我的组件中,我以这种方式包含了脚本( Angular 删除 <script tags> ),所以这是一个黑客:

 @Input() doi;

    constructor(private renderer2: Renderer2,
                   @Inject(DOCUMENT) private _document) {
    } 

    public ngOnInit() {
        const s = this.renderer2.createElement('script');
        s.type = 'text/javascript';
        s.src = 'https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js';
        this.renderer2.appendChild(this._document.body, s);
    }

我收到doi作为输入。

我的html是:

 <div class="altmetric-embed" data-badge-type="donut" data-doi="{{doi}}"></div>

这也不起作用:

<div class="altmetric-embed" data-badge-type="donut" [data-doi]="doi"></div>

但我收到以下错误:

Uncaught Error: Template parse errors: Can't bind to 'doi' since it isn't a known property of 'div'. ("etricCancel($event)">--> ]data-doi="{{doi}}">

如何让它与我的输入一起工作?

最佳答案

使用属性绑定(bind)而不是插值

<div class="altmetric-embed" data-badge-type="donut" [attr.data-doi]="doi"></div>

关于javascript - Angular 5 - 在 Angular 应用程序中使用 altmetric 徽章会出现 Uncaught Error : Template parse errors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56880754/

相关文章:

javascript - 当不相关的 div 为空时更改文本

Angular 2 (RC1) 无法读取 null 的属性 'isSkipSelf'

html - 如何更改垫错误( Angular Material )的颜色?

typescript - 如何在 NestJS 中配置 TypeORM 以使用 postgres 复制?

angular - 选择用户 ID 后显示 JSON 用户数组中的数据

typescript - 在 NestJS 中抛出与 `class-validator` 相同的错误格式

Javascript 搜索 dom 中所有出现的字符?

javascript - screen.width 不检查窗口大小调整

javascript正则表达式分割不跨浏览器

javascript - 如何在 entryComponents 另一个模块中使用模块中的组件?