我想在该指令中构建一个指令元素数组,并通过将该指令绑定到任何元素上,该元素应该重复数组所具有的次数,假设数组通过将指令绑定到元素而具有3个元素元素将重复3次请帮助并提供基本的想法,因为我是初学者我想在角5中实现这个
答案 0 :(得分:0)
我仍然不确定,如果我理解你(标点符号可能有帮助)。
为什么不使用ngFor?
Type of expression is ambiguous without more context
答案 1 :(得分:0)
创建指令文件:
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
@Directive({ selector: '[myFor]' })
export class ForDirective {
constructor(
private templateRef: TemplateRef<any>,
private viewContainer: ViewContainerRef
) { }
@Input() set myFor((arr: any[]) {
for(var i = 0, len = arr.length; i < len; i++) {
this.viewContainer.createEmbeddedView(this.templateRef);
}
}
}
向组件添加数组:
export class AppComponent {
arr = [1,2,3];
getArr() {
return this.arr;
}
}
将指令添加到模板中:
<p *myFor="getArr()">
Test
</p>
在适当的地方注册指令。
https://stackblitz.com/edit/emulate-ngfor-directive-in-angular