Angular中renderer.setStyle()在renderer2上无法工作。
创始人
2024-10-31 15:30:33
0

如果您正在使用Angular 9或以上版本,则renderer从@angular/core中删除,改为使用Renderer2。如果您已将Renderer2指定给视图容器组件的构造函数,并尝试使用其setStyle()方法,但不起作用,则可能是因为您的渲染器不在渲染器数组中。

为了解决这个问题,您需要调用viewref.Service as ViewContainerRef的createView()方法,并将一个组件创建并注册到该容器中。然后,将该组件注入依赖项中,现在您可以使用它的render 属性来访问renderer的数组,并使用setStyle()方法来设置它的样式属性。以下是代码示例:

import { Component, ViewContainerRef, Renderer2, ElementRef } from '@angular/core';

@Component({
  selector: 'my-component',
  template: ` 
    
My div
` }) export class MyComponent { constructor( private viewContainerRef: ViewContainerRef, private renderer: Renderer2, private el: ElementRef ) {} ngAfterViewInit() { const divRef = this.el.nativeElement.querySelector('#myDiv'); const newComp = this.viewContainerRef.createComponent(this.dynamicComponent); newComp.instance.someVal = 'some value'; // This line is important this.renderer.appendChild(divRef, newComp.location.nativeElement); this.renderer.setStyle(divRef, 'color', 'red'); } dynamicComponent = class { someVal = null; constructor() {} }; }

相关内容

热门资讯

了解透视!hhpoker底牌透... 了解透视!hhpoker底牌透视脚本,微信小程序微乐为什么老输,模板教程(有挂存在)-哔哩哔哩1、全...
辅助透视!大菠萝789辅助器下... 辅助透视!大菠萝789辅助器下载,微乐小程序自建房辅助器,绝活教程(有挂神器)-哔哩哔哩大菠萝789...
分享透视!wpk模拟器多开,微... 分享透视!wpk模拟器多开,微信微乐游戏破解器,经验教程(的确有挂)-哔哩哔哩1、任何wpk模拟器多...
分享透视!wepoker私人局... 分享透视!wepoker私人局辅助器怎么用,微乐自建房黑科技入口在哪,策略教程(有挂功能)-哔哩哔哩...
曝光透视!pokemmo手机脚... 曝光透视!pokemmo手机脚本,微乐家乡app辅助器,操作教程(了解有挂)-哔哩哔哩1.pokem...
分享透视!wepoker辅助器... 分享透视!wepoker辅助器如何使用,手机微信小程序游戏破解器下载,烘培教程(真的有挂)-哔哩哔哩...
了解透视!拱趴大菠萝作弊方法,... 了解透视!拱趴大菠萝作弊方法,微乐四川小程序修改器,总结教程(有挂细节)-哔哩哔哩拱趴大菠萝作弊方法...
详细透视!hh poker插件... 详细透视!hh poker插件下载,微信小程序微乐辅助器苹果,秘籍教程(有挂解惑)-哔哩哔哩;1、实...
开挂透视!wepoker怎么设... 开挂透视!wepoker怎么设置透视,2025微乐小程序黑科技,操作教程(存在有挂)-哔哩哔哩运we...
了解透视!德州私人局脚本,微信... 了解透视!德州私人局脚本,微信微乐辅助插件,课程教程(新版有挂)-哔哩哔哩1)德州私人局脚本辅助插件...