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 }}

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

相关内容

热门资讯

8分钟辅助!新道游开挂,大唐撸... 8分钟辅助!新道游开挂,大唐撸麻雀作弊码(实测分享开挂辅助神器);大唐撸麻雀作弊码最新软件透视开挂直...
第7分钟透视!八闽状元郎辅助器... 第7分钟透视!八闽状元郎辅助器,约战沙城辅助脚本(透视最新开挂辅助神器);无需打开直接搜索薇:136...
十分钟辅助!反杀新大厅辅助,潮... 十分钟辅助!反杀新大厅辅助,潮友会鱼虾蟹辅助软件(透视规律开挂辅助神器);大家肯定在之前潮友会鱼虾蟹...
7分钟透视!海米大厅辅助,丫丫... 7分钟透视!海米大厅辅助,丫丫衡阳字牌3辅助(透视苹果版开挂辅助神器);无需打开直接搜索加薇1367...
1分钟辅助!指尖四川辅助脚本,... 1分钟辅助!指尖四川辅助脚本,钱塘13挂件(一分钟揭秘开挂辅助工具);1、点击下载安装,钱塘13挂件...
第三分钟开挂!新道游开挂辅助透... 第三分钟开挂!新道游开挂辅助透视,兴动互娱辅助工具(一分钟了解开挂辅助工具)【无需打开直接搜索加薇1...
一分钟辅助!川南九九辅助,赣南... 一分钟辅助!川南九九辅助,赣南必胜辅助(推荐攻略开挂辅助软件);1、不需要AI权限,帮助你快速的进行...
第十分钟辅助!海洋麻将辅助器,... 蘑菇云辅助使用视频是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我...
1分钟辅助!拱趴大菠萝技巧,辣... 1分钟辅助!拱趴大菠萝技巧,辣椒互娱辅助(透视私人局开挂辅助脚本);拱趴大菠萝技巧软件透视开挂作为一...
三分钟开挂!朋友局辅助器,红龙... 三分钟开挂!朋友局辅助器,红龙poker辅助平台(推荐十款开挂辅助软件)您好:朋友局辅助器这款游戏可...