小编Che*_*har的帖子

带有USE标记的SVG无法呈现

DOM已经包含一个空的SVG标记(svg).当我尝试使用id()动态追加USE现有SVG符号(symbol)的标记时iconId:

svg.empty();
svg[0].setAttribute('viewBox', symbol.getAttribute('viewBox'));
svg.append('<use xlink:href="#' + iconId + '"></use>');
Run Code Online (Sandbox Code Playgroud)

它不再呈现SVG.在Chrome中,如果我添加,则呈现:

 element.html(element.html());
Run Code Online (Sandbox Code Playgroud)

或手动操作viewBox属性,但这不是一个真正的解决方案,IE根本不喜欢它.值得一提的是,如果我直接附加SVG图形,则元素呈现.

这里发生了什么,为什么在附加USE标签后没有SVG绘图?

html internet-explorer svg google-chrome

5
推荐指数
1
解决办法
4819
查看次数

在angular2中是否有管道的破坏钩(与组件相同)?

在调查了几天(!?!)以查看当前Angular2应用程序的大量内存泄漏之后,我想出了一个新的发现:

显然,在整个应用程序中大量使用的异步管道正在订阅一个可观察的,但是当组件和管道被清理时,它从未被释放(取消订阅).

它为一个只有少量用户操作的观察者累积了大约11,000个观察者(这最终导致应用程序崩溃).

我需要取消订阅observable,为了做到这一点,我需要一个破坏钩子,类似于ngOnDestroy,但是对于管道.

有没有这样的钩子,或者如果没有,你会如何建议取消订阅?

observable angular

5
推荐指数
1
解决办法
1339
查看次数