Angular指令:将第一个指令的输出作为第二个指令的模板输入传递
创始人
2024-10-31 00:00:24
0

要将第一个指令的输出作为第二个指令的模板输入传递,可以使用Angular的@Input装饰器和动态组件来实现。以下是一个示例代码:

首先,创建第一个指令,将其命名为FirstDirective:

import { Directive, ElementRef } from '@angular/core';

@Directive({
  selector: '[firstDirective]'
})
export class FirstDirective {
  constructor(private elementRef: ElementRef) { }

  getText(): string {
    return this.elementRef.nativeElement.innerText;
  }
}

然后,创建第二个指令,将其命名为SecondDirective,并在其模板中使用第一个指令的输出:

import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';

@Directive({
  selector: '[secondDirective]'
})
export class SecondDirective {
  @Input() secondDirectiveTemplate: TemplateRef;

  constructor(private viewContainerRef: ViewContainerRef) { }

  ngOnInit() {
    const text = this.secondDirectiveTemplate.createEmbeddedView(null).rootNodes[0].innerText;
    console.log(text); // 输出第一个指令的输出

    // 将第一个指令的输出作为模板输入传递给第二个指令
    this.viewContainerRef.createEmbeddedView(this.secondDirectiveTemplate, { text });
  }
}

最后,在组件的模板中使用这两个指令:

这是第一个指令的输出
{{ text }}

这样,第二个指令就可以获取第一个指令的输出,并将其作为模板输入传递给自己的模板中。

相关内容

热门资讯

透视攻略!德普之星辅助器怎么用... 透视攻略!德普之星辅助器怎么用,wepoker有辅助器吗,举措教程(切实有挂)-哔哩哔哩1、完成德普...
透视工具!wepoker数据分... 透视工具!wepoker数据分析(透视)开挂辅助器(都是是有挂)-哔哩哔哩wepoker数据分析是一...
透视肯定!wejoker私人辅... 透视肯定!wejoker私人辅助软件,哈糖大菠萝能开挂吗,手段教程(本来真的有挂)-哔哩哔哩1、操作...
透视技巧!wepoker辅助器... 透视技巧!wepoker辅助器下载(透视)开挂辅助app(本来有挂)-哔哩哔哩1、很好的工具软件,可...
透视好友房!wepoker软件... 透视好友房!wepoker软件靠谱么,fishpoker透视底牌,法门教程(好像是真的挂)-哔哩哔哩...
透视机器人!wepoker数据... 透视机器人!wepoker数据分析(透视)开挂辅助方法(确实是真的挂)-哔哩哔哩1、wepoker数...
透视攻略!hhpoker有没有... 透视攻略!hhpoker有没有辅助辅助,智星德州插件,讲义教程(竟然真的是有挂)-哔哩哔哩1、不需要...
透视黑科技!werplan怎么... 透视黑科技!werplan怎么透视,德州之星扫描器,妙招教程(确实真的有挂)-哔哩哔哩1、进入到德州...
透视机器人!wepoker有机... 透视机器人!wepoker有机器人吗(透视)开挂辅助挂(真是真的有挂)-哔哩哔哩所有人都在同一条线上...
透视了解!约局吧游戏挂,哈糖大... 透视了解!约局吧游戏挂,哈糖大菠萝开挂,指南教程(果然存在有挂)-哔哩哔哩1、哈糖大菠萝开挂系统规律...