[英]creating a component that accept and iterate over a custom element
我的目标是创建一个可以接受自定义元素并使用提供的数据对其进行迭代的组件。
这是我能够想到的,并且效果很好。 但是我不满意。 我想要一些不需要将自定义元素包装在<template>
标记中的东西。
import {Component, Input, Output, EventEmitter} from 'angular2/core';
@Component({
selector: 'sub',
template: `
<ng-content></ng-content>
`
})
export class SubComponent {}
@Component({
selector: 'my-app',
template: `
<sub>
<template ngFor #listItem [ngForOf]="list" #i="index"> //<--don't want this tag
<div>{{listItem | json}}</div>
<p>{{i}}</p>
</template>
</sub>
`,
directives: [ SubComponent ]
})
export class AppComponent {
list = [{name: 'John', age: 26},{name: 'Kevin', age: 26}, {name:'Simmons', age:26}];
}
在这里发现,我可以对ng-content
包含使用指令(ng2的早期版本不使用),因此解决方案很简单,如下所示:
import {Component, Input, Output, EventEmitter} from 'angular2/core';
@Component({
selector: 'sub',
template: `
<p>content</p>
<ng-content></ng-content>
<p>more content</p>
`
})
export class SubComponent {}
@Component({
selector: 'my-app',
template: `
<sub >
<any-element *ngFor="let listItem of list" >
{{ listItem | json }}
</any-element>
</sub>
`
})
export class AppComponent {
list = [{name: 'John', age: 26},{name: 'Kevin', age: 26}, {name:'Simmons', age:26}];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.