0

在 Angular 应用程序中,假设我们有一个 body 元素

<body>
   ...
</body>

现在我想使用 Angular Renderer2 将其背景设置为某个值

this.renderer.setStyle(document.body, 'background', 'url("some-example-url");');

什么也没有发生。

但是现在如果我使用 setAttribute 函数作为

this.renderer.setAttribute(document.body, 'style', 'background: url("some-example-url");');

这会很好。

我的问题是: setStyle 函数可以对尚未定义样式属性的元素进行操作吗?

4

1 回答 1

0

找出我的代码中的问题所在。使用以分号结尾的字符串作为值的 setStyle 不起作用。

// Bad
this.renderer.setStyle(document.body, 'background', 'url("some-example-url");');
// Good
this.renderer.setStyle(document.body, 'background', 'url("some-example-url")');

在深入了解 Angular 源代码之后,尤其是在渲染器的平台浏览器实现中,是否设置了样式属性并不重要。无论如何,Angular似乎都能处理它。

于 2020-08-06T16:41:48.537 回答