2016-10-25 63 views
3

我正在學習一點angular2,我找不到有關此問題的信息。當我不自己關閉一個<input>標籤時,我得到一個解析錯誤。這對我來說很奇怪。此外,這似乎是一個錯誤,但我無法找到任何理由或討論。angular2輸入不能自我關閉

@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 
     `   
}) 

任何關於此錯誤的幫助信息或鏈接都會非常有幫助。謝謝

回答

3

input標記是一個空元素,因此必須是自閉合的。 Angular 2模板解析器對此非常嚴格。

HTML sepcification得到更具體的關於這個主題:

一個空元素是一種元素,它的內容模型從來沒有允許它具有在任何情況下的內容。空元素可以有屬性。

其他空隙元素是:areabasebrcolcommandembedhrimgkeygenlinkmetaparamsourcetrackwbr

+1

這是真的我沒有意識到這一點。非常感謝你,我感到非常困惑! – acostela