2016-03-10 3 views
6

Im folgenden Code, aus irgendeinem Grund, wenn ich eine neue Zeile nach Vorlage eingeben, gibt es mir einen Fehler. Alle meine Tags müssen '<h1>...<h2> etc.' in einer Zeile - Die Minute, die ich traf eingeben nach der Vorlage: 'eingeben es mir einen Fehler gibt.angular 2 und template: Nicht abgeschlossene Zeichenfolge literal.at Zeile 6 Spalte 24

abgebrochene Zeichenfolge literal.at Zeile 6 Spalte 24 TS Eigenschaft Fehler Zuordnung expected.at Leitung 7 col 10 TS-Fehler '' expected.at Zeile 7 col 25 TS Fehlertyp expected.at Leitung 7 col 27 TS Fehler Unterminated regulärer Ausdruck literal.at Leitung 7 col 28 TS-Fehler '' expected.at Leitung 8 col 1

import {Component} from 'angular2/core'; 

@Component({ 
    selector: 'ponyracer-app', 
    template: 
    '<h1>PonyRacer</h1> 
    <h2>{{numberOfUsers}}</h2>' 
}) 
export class PonyRacerApp { 

    numberOfUsers: number = 146; 
} 

Antwort

14

Verwenden ` (backsticks), nicht ' (single - oder Doppel - Anführungszeichen) um den Template-String zu deklarieren:

import {Component} from 'angular2/core'; 

@Component({ 
    selector: 'ponyracer-app', 
    template: 
    `<h1>PonyRacer</h1> 
    <h2>{{numberOfUsers}}</h2>` 
}) 
export class PonyRacerApp { 

    numberOfUsers: number = 146; 
} 

Wenn Sie diese verwenden, erklären Sie Template Strings, nicht regelmäßig Saiten. Sie sind ein Teil von ES6 (alias ECMAScript 2015):

Vorlagenliterale sind Zeichenfolgenliterale, die eingebettete Ausdrücke ermöglichen. Sie können mehrzeilige Strings und String-Interpolationsfunktionen verwenden. Sie wurden in früheren Ausgaben der ES2015/ES6-Spezifikation als "Template-Strings" bezeichnet.

Mehr darüber auf MDN oder TypeScript Deep Dive.

+0

Vielen Dank für das Teilen der Referenz. –

+0

Warum ist dies nicht in der Dokumentation und offensichtlich aus Angulars eigener Dokumentation. Die Show einfache Anführungszeichen –

Verwandte Themen