Оформление проекта с использованием JavaScript API - PullRequest
0 голосов
/ 10 октября 2018

Всякий раз, когда я обслуживаю свой проект с опциями --release или собираю его и запускаю на веб-странице, я получаю эту консоль ошибок, и некоторые функции не будут работать, используя компилятор dartdevc.функции работают нормально.

Например, это происходит, когда я нажимаю кнопку:

jquery-3.3.1.slim.min.js:2 Uncaught TypeError: ((w.event.special[a.origType] || {}).handle || a.handler).apply is not a function
    at HTMLDivElement.dispatch (jquery-3.3.1.slim.min.js:2)
    at HTMLDivElement.v.handle (jquery-3.3.1.slim.min.js:2)
    at Object.trigger (jquery-3.3.1.slim.min.js:2)
    at HTMLDivElement.<anonymous> (jquery-3.3.1.slim.min.js:2)
    at Function.each (jquery-3.3.1.slim.min.js:2)
    at w.fn.init.each (jquery-3.3.1.slim.min.js:2)
    at w.fn.init.trigger (jquery-3.3.1.slim.min.js:2)
    at r.t.show (modal.js:117)
    at HTMLDivElement.<anonymous> (modal.js:515)
    at Function.each (jquery-3.3.1.slim.min.js:2)
dispatch @ jquery-3.3.1.slim.min.js:2
v.handle @ jquery-3.3.1.slim.min.js:2
trigger @ jquery-3.3.1.slim.min.js:2
(anonymous) @ jquery-3.3.1.slim.min.js:2
each @ jquery-3.3.1.slim.min.js:2
each @ jquery-3.3.1.slim.min.js:2
trigger @ jquery-3.3.1.slim.min.js:2
t.show @ modal.js:117
(anonymous) @ modal.js:515
each @ jquery-3.3.1.slim.min.js:2
each @ jquery-3.3.1.slim.min.js:2
r._jQueryInterface @ modal.js:498
cr @ index.dart.js:316
J.h4 @ index.dart.js:6202
dart.nN @ index.dart.js:6096
$1 @ index.dart.js:4961
m6 @ index.dart.js:980
(anonymous) @ index.dart.js:989

Это мои js API, вызываемые из Dart:

@JS()
library js_helper;

import 'package:js/js.dart';

@anonymous
@JS()
class SnackbarParams {
  external factory SnackbarParams({String text, String pos, String backgroundColor});

  external String get text;
  external String get pos;
  external String get backgroundColor;

}

@JS('Snackbar')
class Snackbar{
  external static void show(SnackbarParams obj);
}

@JS('\$')
external dynamic jQuery(query);

@JS()
@anonymous
class ModalElement {

  external dynamic modal(String call);
  external dynamic on(String event, Function callback);

}

@JS()
@anonymous
class jFormElement {
  external dynamic serialize();
}

Иэто должен быть код, который создает эту ошибку: (jQuery('#loginModal') as ModalElement).modal('show');

1 Ответ

0 голосов
/ 21 октября 2018

В конце проблема была в методе on, мне нужно было добавить allowInterop к Function

...