2016-01-30 48 views
5

以下* ngFor* ngFor显示元素空数组

<ul> 
    <li *ngFor="#todo of todoService.todos"> 
    {{todo}} 
    <li> 
</ul> 

凡todoService是注入接口

import {Injectable} from 'angular2/core'; 

@Injectable() 
export class TodoService { 
    todos = [] 
} 

当我加载页面时,输出为<li></li>,而不是什么都没有。

任何想法为什么?由于数组是空的,不应该有一个<li> -tag

编辑 它也存在的,当我初始化值的数组。总是有一个尾随没有理由的空元素。问题 https://plnkr.co/edit/MRYC4MHtlDLfBMUPsL6o?p=preview

回答

12

是啊:)你可以盯着这类问题盲目,即使该解决方案是有时太简单了。

我相信你想底部<li>是一个结束标签?这可能只是解决您的问题:

<ul> 
    <li *ngFor="#todo of todoService.todos"> 
    {{todo}} 
    </li> <!-- this nagger right here --> 
</ul> 
0

EDIT2 的例子我能不β1的重现您的问题:

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div> 
     Test: 
     <ul> 
     <li *ngFor="#l of service.list">{{l}}</li> 
     </ul> 
    </div> 
    ` 
}) 
export class AppComponent { 
    constructor(private service:Service) { 

    } 
} 

看到这个plunkr:https://plnkr.co/edit/hGpCIZQghtMBbpplV9tV?p=preview

您使用了哪个版本的Angular2?

蒂埃里

+0

实际上,我也困惑,因为我下面的教程(不快速启动),但我用从谷歌的快速入门样板与“angular2”:“2.0.0- beta.0“,你的样品证明我错了..我试图找到原因 – Michael

+0

在这里的问题:https://plnkr.co/edit/MRYC4MHtlDLfBMUPsL6o?p=preview – Michael