angular 2 中的独立 ng-for?
A standalone ng-for in angular 2?
是否可以让 ng-for 不附加到任何元素?
例如,假设我有一个 foo 对象列表,这些对象本身包含 bars。然后我想遍历 foos 和 bars 而不是嵌套它们。
许多其他框架以这样的(假设的)方式支持它:
<table>
{% for foo in foos %}
<tr>first level tr</tr>
{% for bar in foo.bars %}
<tr>same level as above tr</tr>
{% endfor %}
{% endfor %}
</table>
但是在 angular 中,您必须将 ng-for 附加到实际元素上,或者您可以制作与上面类似的东西吗?
好消息:这是可能的。坏消息:现在你必须使用 canonical form of *ng-for 来实现这个:
<template ng-for #foo [ng-for-of]="foos">
Put your template here
</template>
以后可以这样写(见this github issue):
<template *ng-for="#foo from foos">
Put your template here
</template>
但尚未实施。
所以,现在您的示例看起来像(请参阅 this plunker):
import {Component, NgFor} from 'angular2/angular2'
@Component({
selector: 'my-app',
directives: [NgFor],
template: `
<table>
<template ng-for #foo [ng-for-of]="foos">
<tr><td>first level tr</td></tr>
<template ng-for #bar [ng-for-of]="foo.bars">
<tr><td>same level as above tr</td></tr>
</template>
</template>
</table>
`
})
export class App {
constructor() {
this.foos = [
{ bars: ['bar1', 'bar2', 'bar3'] },
{ bars: ['some1', 'some2', 'some3'] }
]
}
}
关心,现在改了:
SELECTORS [ngFor][ngForOf]
<template ngFor #item [ngForOf]="items" #i="index"><li>...</li></template>
https://angular.io/docs/ts/latest/api/common/NgFor-directive.html
是否可以让 ng-for 不附加到任何元素?
例如,假设我有一个 foo 对象列表,这些对象本身包含 bars。然后我想遍历 foos 和 bars 而不是嵌套它们。
许多其他框架以这样的(假设的)方式支持它:
<table>
{% for foo in foos %}
<tr>first level tr</tr>
{% for bar in foo.bars %}
<tr>same level as above tr</tr>
{% endfor %}
{% endfor %}
</table>
但是在 angular 中,您必须将 ng-for 附加到实际元素上,或者您可以制作与上面类似的东西吗?
好消息:这是可能的。坏消息:现在你必须使用 canonical form of *ng-for 来实现这个:
<template ng-for #foo [ng-for-of]="foos">
Put your template here
</template>
以后可以这样写(见this github issue):
<template *ng-for="#foo from foos">
Put your template here
</template>
但尚未实施。
所以,现在您的示例看起来像(请参阅 this plunker):
import {Component, NgFor} from 'angular2/angular2'
@Component({
selector: 'my-app',
directives: [NgFor],
template: `
<table>
<template ng-for #foo [ng-for-of]="foos">
<tr><td>first level tr</td></tr>
<template ng-for #bar [ng-for-of]="foo.bars">
<tr><td>same level as above tr</td></tr>
</template>
</template>
</table>
`
})
export class App {
constructor() {
this.foos = [
{ bars: ['bar1', 'bar2', 'bar3'] },
{ bars: ['some1', 'some2', 'some3'] }
]
}
}
关心,现在改了:
SELECTORS [ngFor][ngForOf]
<template ngFor #item [ngForOf]="items" #i="index"><li>...</li></template>
https://angular.io/docs/ts/latest/api/common/NgFor-directive.html