2017-06-30 3 views
0

Auf einer Webseite, die ich für die Arbeit habe, habe ich eine Google Map mit Websites markiert, zusammen mit Etiketten mit Kontaktinformationen für diese Website. In dichten Gebieten wie Boston oder New York habe ich Kontaktinformationen mehrerer Standorte innerhalb eines einzigen Labels. Das Problem, das ich habe, ist, dass ich das nur richtig funktionieren lassen kann, wenn ich die Kontaktinformation aller Seiten in eine einzige Textzeile wie unten setze.Teilen von js in mehrere Zeilen

var labelBoston = [ 
    new GInfoWindowTab("Center", "<b>Beth Israel Deaconess Medical Center</b><br>Jon Doe, MD<br>Harvard Medical School<br>address line here<br>Boston, MA 02215<br>Phone: xxx-xxx-xxxx<br>Fax: xxx-xxx-xxxx<br><a href='mailto:[email protected]'>[email protected]</a><br><br><b>Boston Medical Center</b><br>Jane Doe, Study Coordinator<br>Dept. of Obstetrics-Gynecology<br>address line here<br>100th Floor<br>Boston, MA 02118<br>Phone: xxx-xxx-xxxx<br><a href='mailto:[email protected]'>[email protected]</a>"), 
]; 

Während dies funktioniert, ist es ein großer Schmerz zu pflegen. Besonders in anderen Städten, wo es mehr als 5 Seiten gibt. Ich würde gerne in so etwas wie teilen:

var labelBoston = [ 
    new GInfoWindowTab("Center", " 
<b>Beth Israel Deaconess Medical Center</b><br>Jon Doe, MD<br>Harvard Medical School<br>address line here 
<br>Boston, MA 02215<br>Phone: xxx-xxx-xxxx<br>Fax: xxx-xxx-xxxx 
<br><a href='mailto:[email protected]'>[email protected]</a> 

<br><br> 

<b>Boston Medical Center</b><br>Jane Doe, Study Coordinator 
<br>Dept. of Obstetrics-Gynecology<br>address line here 
<br>100th Floor<br>Boston, MA 02118<br>Phone: xxx-xxx-xxxx 
<br><a href='mailto:[email protected]'>[email protected]</a>"), 
    ]; 

Oder etwas ähnliches, so dass die Pflege dieser Informationen besser managbar ist. Aber jede Variation, die ich an der einzelnen Textzeile mache, bricht alles durcheinander. Kann mir jemand helfen, eine Lösung zu finden?

+0

würde ich vorschlagen, jede Zeile in Zeichenkette zu brechen, und dann verketten Sie sie am Ende zu einer einzigen großen Saite. Zum Beispiel könnte die Linie "Harvard Medical School" "Var Schule =" Harvard Medical School
; '. Auf diese Weise ist es einfach, verschiedene Teile Ihrer Saite eigenständig zu bearbeiten. –

+0

Ich würde vorschlagen, HTML in HTML-Dateien zu speichern und sie dann mit Ajax zu laden, anstatt Ihren HTML-Code in JavaScript zu codieren. –

Antwort

0

Mein Vorschlag ist, den Wagenrücklauf zu entkommen. d. h., setzen Sie einfach eine \, bevor Sie die Eingabetaste drücken. Aber es gibt 4 verschiedene Arten, an die ich denken kann.

let a = `There's a few ways about multi-line strings in Javascript. 
 
In ES6, template literals allow multiple lines,` 
 

 
let b = "but you can also have multiple lines by \ 
 
escaping the carriage return," 
 

 
let c = "or by using " + 
 
"String concatenation," 
 

 
let d = [ 
 
    "or you can join", 
 
    "items in an array." 
 
].join(" ") 
 

 
console.log(a,b,c,d);

+1

Verwenden von Vorlagenliteralen enthält den Wagenrücklauf im Text selbst; die anderen nicht. Nur ein Blick auf das OP und andere. –

0

jede Split Linie oder paar Zeilen in seinen eigenen String. Zum Beispiel

"Beth Israel Deaconess Medical Center 
Jon Doe, MD 
Harvard Medical School 
address line here  
Boston, MA 02215 
Phone: xxx-xxx-xxxx 
Fax: xxx-xxx-xxxx  
[email protected]" 

sein könnten,

var string = ''; 
string += 'Beth Israel Deaconess Medical Center<br />'; 
string += 'Jon Doe, MD.<br />'; 
string += 'Harvard Medical School<br />'; 
string += 'address line here <br />'; 
string += 'Boston, MA 02215<br />'; 
string += 'Phone: xxx-xxx-xxxx<br />'; 
string += 'Fax: xxx-xxx-xxxx <br />'; 
string += '[email protected]<br />'; 

Dann am Ende nur die Saiten verketten (var total_string = string + string1 + string2 +...b) und dann sagen,

var labelBoston = [ 
    new GInfoWindowTab("Center", total_string); 
]; 
Verwandte Themen