2016-03-10 6 views
6

Nel codice seguente, per qualche motivo quando inserisco una nuova riga dopo il modello, mi viene visualizzato un errore. Tutti i miei tag devono essere in una riga- Il minuto che ho colpito immettere dopo il modello: 'immettere mi dà un errore.angolare 2 e modello: stringa non terminata literal.at line 6 col 24

stringa non terminata literal.at linea 6 col 24 TS Errore Proprietà assegnazione linea expected.at col 10 TS Errore 7 '' expected.at linea 7 col 25 TS Errore linea Tipo expected.at 7 col 27 TS errore non terminata espressione regolare literal.at linea 7 col 28 TS Errore '' expected.at linea 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; 
} 

risposta

14

Utilizzare ` (backsticks), non ' (singole - citazioni - o doppie) per dichiarare la stringa del modello:

import {Component} from 'angular2/core'; 

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

    numberOfUsers: number = 146; 
} 

Quando si utilizza quelli, si dichiara stringhe di modello, non stringhe regolari. Fanno parte di ES6 (alias ECMAScript 2015):

I valori letterali di modello sono valori letterali stringa che consentono espressioni incorporate. È possibile utilizzare le stringhe multilinea e le funzioni di interpolazione delle stringhe con esse. Sono stati chiamati "stringhe di modelli" nelle edizioni precedenti delle specifiche ES2015/ES6.

Ulteriori informazioni su MDN o TypeScript Deep Dive.

+0

Grazie per aver condiviso anche il riferimento. –

+0

Perché questo non è nella documentazione e evidente dalla documentazione di Angular. Le citazioni singole di spettacolo –

Problemi correlati