2017-08-15 41 views
0

我认为这是一个比任何东西都更多的风格问题,但我想确保我正确地做到了这一点。Angular2 innerHtml不断更新

我有一个端点,我打电话是烦人的返回一个SVG图像,而不是一个完整的JPEG或PNG,我需要在页面上显示。我创建了一个调用并抓取SVG的服务。该服务从名为getImage(id)的组件中的方法中调用。

在我的HTML我有类似:

<div [innerHtml]="getImage(id)></div> 

有一件事我注意到的是,我真的不能检查Chrome的SVG,因为它不断地更新。我想知道这是否是一个问题,如果是的话如何解决它?它看起来只是不断调用更新方法,但页面上没有任何更改(据我所知),因此不应触发更改检测?

+0

获取'ngOnInit图像()'并将其设置为一个变量。在[[innerHtml]]中使用该变量。 – Arg0n

+0

问题 - 为什么svg没有附加到img元素的src属性? – binDebug

回答

1

举例我的评论:

import { ..., OnInit, ... } from '@angular/core' 

@Component({ ... }) 
export class ...Component implements OnInit { 
    private image: string; 

    constructor(...) { ... } 

    public ngOnInit(): void { 
     this.getImage(1); //Get id from somewhere 
    } 

    private getImage(id): void { 
     ... 
     this.image = ...; 
    } 
} 

HTML

<div [innerHtml]="image"></div>