2016-11-03 2 views
0

Ich benutze die Unterstreichung js Bibliothek (http://underscorejs.org/#filter) für die Funktionalität in meiner App.Underscore js Syntaxfehler in IE 11

Alles funktioniert wie erwartet in Chrom. Jedoch, wenn ich den gleichen Code in IE11 laufen erhalte ich einen js Fehler in der Konsole

SCRIPT1002: Syntaxfehler Datei: OptionSrv.js, Zeile: 197, Säule: 62

Wenn ich die Datei angeklickt zu bringen mich zu dem fehler der cursor steht auf dem => - ist das ein redhering oder sollte es eine andere möglichkeit geben das zu tun was sowohl in chrome als auch in IE funktioniert?

Hinweis, wenn ich die Zeile in IE auf Kommentar ich aber die Konsole Fehler nicht bekommen, offensichtlich ist dies nicht die Verlegenheit, die ich

var group = myOptions.filter(g => g.options.indexOf(option.OptionCode) > -1); 
+1

Was hat dies mit Unterstrich-Syntax zu tun? Die Fehlermeldung, die Sie erhalten, zeigt auf '=>', was eine ES6-Pfeilfunktion ist ... und ** wird nicht in dem Beispiel verwendet, auf das Sie verlinken ** – Quentin

Antwort

1

Internet Explorer 11 unterstützt Funktionen Pfeil nicht.

Das ist der g => g.options.indexOf(option.OptionCode) > -1 Teil Ihres Codes.

Sie können eine normale anonym (oder benannt) Funktion stattdessen hier, verwenden und es sollte funktionieren:

var group = myOptions.filter(function(g) { 
    g.options.indexOf(option.OptionCode) > -1); 
}); 
1

IE11 muss nicht ES6 Syntax unterstützen. Wenn Sie ES6-Syntax wie Arrow-Funktionen schreiben möchten, können Sie Ihren Code über einen Transpiler wie Babel ausführen.

Wenn Sie Ihren clientseitigen Code wie mit älteren Browsern kompatibel zu sein und Sie kümmern sich nicht um neue Syntax, verwenden Sie einfach ES5 Syntax :)