angular2输入不自我关闭

时间:2016-10-25 09:15:39

标签: angular typescript

我正在学习一些angular2,但我无法找到有关此问题的信息。当我不自行关闭<input>标记时,我会收到解析错误。这对我来说太奇怪了。此外,它似乎是一个错误,但我无法找到任何理由或讨论。

@Component({
   selector: 'my-app',
   template: `<h1>My First Angular App</h1>
        {{greeting}}
        <br/>
        {{product.id}} {{product.name}} {{product.price}}
        <br/>
        <span [innerHtml]="product.id"></span>
        <span [innerHtml]="product.name"></span>
        <span [innerHtml]="product.price"></span>
        <br/>
        <input [(ngModel)]="product.id"/>  //Here is working correctly
        `
 })

如果我这样做,但是这样我得到了解析错误。

@Component({
    selector: 'my-app',
    template: `<h1>My First Angular App</h1>
        {{greeting}}
        <br/>
        {{product.id}} {{product.name}} {{product.price}}
        <br/>
        <span [innerHtml]="product.id"></span>
        <span [innerHtml]="product.name"></span>
        <span [innerHtml]="product.price"></span>
        <br/>
        <input [(ngModel)]="product.id"></input> //Here I get a Parse error
        `          
})

有关此错误的任何帮助信息或链接都会非常有用。谢谢

1 个答案:

答案 0 :(得分:4)

input标记是一个void元素,因此必须自动关闭。 Angular 2模板解析器对它非常严格。

HTML sepcification对此主题更加具体:

  

void元素是一个元素,其内容模型在任何情况下都不允许它拥有内容。 Void元素可以具有属性。

其他空白元素包括:areabasebrcolcommandembedhrimgkeygenlinkmetaparamsourcetrackwbr