Website-Suche

TypeScript - Angular: Mehrzeiliger String


Ich bin ein Angular-2-Anfänger und habe dieses Stück Code in meiner dev/app.component.ts geschrieben:

import {Component} from 'angular2/core';

@Component({
    selector: 'my-app',
    template: '<h3 (click)="onSelect()"> {{contact.firstName}} {{content.lastName}}</h3>'
})
export class AppComponent {
    public contact = {firstName:"Max", lastName:"Brown", phone:"3456732", email:"[email "};

    public showDetail = false;
    onSelect() {
        this.showDetail=true;
    }
}

Es funktioniert, wenn ich zum Browser gehe, wird "Max Brown angezeigt".

Jetzt möchte ich den Vorlagenabschnitt auf verschiedene Zeilen wie folgt schreiben:

import {Component} from 'angular2/core';

@Component({
    selector: 'my-app',
    template: '<h3 (click)="onSelect()">
    {{contact.firstName}} {{contact.lastName}}<h3>'
})
export class AppComponent {
    public contact = {firstName:"Max", lastName:"Brown", phone:"3456732", email:"[email "};

    public showDetail = false;
    onSelect() {
        this.showDetail=true;
    }
}

Aber ich bekomme diesen Fehler in der Chrome-Konsole:

Uncaught TypeError: Cannot read property 'split' of undefined

Antwort #1

Um den Text in ` (Backticks) anstelle von einfachen Anführungszeichen ' einzuschließen, kann er dann über mehrere Zeilen gehen.

var myString = `abc
def
ghi`;

Antwort #2

Die akzeptierte Antwort funktioniert nur, wenn wir \n in unserer Zeichenkette hinzufügen möchten. Wenn wir den Inhalt einfach in einer neuen Zeile haben wollen, ohne \n in der langen Zeichenkette hinzuzufügen, fügen Sie bitte\am Ende jeder Zeile wie folgt hinzu.

string firstName = `this is line 1 \
and this is line 2 => yet "new line" are not \
included because they were escaped with a "\"`;

console.assert(firstName == 'this is line 1 and this is line 2 => yet "new line" are not included because they were escaped with a "\"'); // true

Hinweis - Stellen Sie sicher, dass Sie am Anfang der nächsten (zweiten im Beispiel) Zeile keine Tabs und Leerzeichen hinzufügen

Antwort #3

const multiLineString = [
  "I wish",
  "there were a better way",
  "to do this!",
].join(" ");

Verwandte Artikel