Dies wäre die minimale Änderung, die Sie benötigen. Ich empfehle die ()
für den Funktionsaufruf hinzufügen, aber diese Regel kümmert sich nicht um diese.
modal: true
ist impliziert, ein Objekt zu sein. Um zu zeigen, warum diese Regel aktiviert ist, nehmen wir an, Sie hätten einen sehr ähnlichen Code, der einen Parameter akzeptiert.
makeDialog = (foo) ->
$("#selector").dialog
modal: true,
foo: foo,
Dieser Code sieht gut aus, es kompiliert sogar richtig. Aber irgendwann merkt man, dass foo: foo
vereinfacht werden kann.
makeDialog = (foo) ->
$("#selector").dialog
modal: true,
foo,
Jetzt ist Ihr Code kaputt. CoffeeScript hat richtig geraten, dass modal: true
eine Eigenschaft eines implizierten Objekts ist, das der erste Parameter von dialog
ist, aber es weiß nicht, ob foo
eine zweite Eigenschaft für dieses Objekt oder ein zweiter Parameter für die Funktion ist. Es endet damit, dies zu kompilieren:
return $("#selector").dialog({ modal: true }, foo);
Vielen Dank. Aber ich will nicht coffeelint.json ändern. Ich möchte die Standardkonfiguration beibehalten und das Problem beheben. –
Die Standardkonfiguration verursacht weder einen Fehler noch eine Warnung für implizite Klammern. Deshalb habe ich gefragt, ob Sie bereits eine coffeelint.json-Datei hatten, und wenn dies der Fall ist, überprüfen Sie, ob die no_ implicit_braces-Regel nicht auf error gesetzt ist. – Cyril