'(Dynami c) => Dynami c' не является подтипом типа '(Node)> = bool' - PullRequest
0 голосов
/ 03 августа 2020

Я получаю эту ошибку

Необработанное исключение: type '(Dynami c) => Dynami c' не является подтипом типа '(Node) = > bool 'of' test '

при попытке выполнить эту строку:

element.nodes.where((n) => n.nodes.isNotEmpty)

Я пытался выполнить с выражением оценки для каждого элемента. node и он работает хорошо, поэтому понятия не имею, что это может быть.

Блок кода

...
void method(var elements){
...
var elements = _document.querySelectorAll(section_class);

for (var element in elements) {
  for (var node
         in element.nodes.where((n) => n.nodes.isNotEmpty)) {
...

Ответы [ 2 ]

0 голосов
/ 10 августа 2020

Проблема заключалась в том, что он был определен var для локальных переменных, а также аргументов метода, поэтому компилятор не знал, к какому типу относятся дочерние элементы.

Итак, определяйте var в небольших областях вместо массового использования это для всего.

0 голосов
/ 03 августа 2020

Я думаю, что нет списка узлов для каждого элемента узлов List.

Тогда вы должны изменить метод условия

element.nodes.where((n) => n.isNotEmpty)
...