Я использую WebStorm и Dart Angular, и у меня возникают проблемы с каким-то строгим или проверенным режимом.Отключить строгий/проверенный режим в Dart Angular
Всякий раз, когда я запускаю приложение, используя конфигурацию по умолчанию в WebStorm, я получаю неудачные утверждения Observer reaction functions should not change model.
, boolean expression must not be null
и type 'SubListIterable' is not a subtype of type 'List<Tag>'
.
Насколько я понимаю, это происходит потому, что Dart VM работает в режиме проверки, и я хотел бы отключить его. Dartium запускается с опциями --no-sandbox --flag-switches-begin --flag-switches-end
, если это важно.
Когда я открываю страницу в Chrome, все в порядке, но, конечно, я не могу отлаживать.
EDIT: первая ошибка, по-видимому, не связана с проверенным режимом. Вот отрывок из того, что я пытаюсь достичь:
List get getCorrectTags {
if(this.allowTags)
return this.tags.map((t) => t.name).toList();
else
return this.contentTags;
}
Текущее решение так:
bool invalidateCorrectTags = false;
List correctTags = [];
List get getCorrectTags {
if (this.invalidateCorrectTags) {
this.invalidateCorrectTags = false;
if(this.allowTags)
this.correctTags = this.tags.map((t) => t.name).toList();
else
this.correctTags = this.contentTags;
}
return this.correctTags;
}
, и я должен установить invalidateCorrectTags
к true
в каждом инкубаторе, где изменения в указанной сеттер будет влиять результат getCorrectTags. Есть ли лучший способ сделать это?
Checked режима, чтобы предотвратить возможные ошибки. Как насчет исправления проблем? Первая ошибка (реакция наблюдателя ...) никак не связана с проверенным режимом AFAIK. Ошибки довольно легко исправить. –
Как исправить первую ошибку? Я понимаю последние 2 (несоответствие типов) и исправил их уже, но 1-й из них требует обналичивания и недействительности этих выигрышей в модельных геттерах. –
Можете ли вы отправить код. Я не знаю, как исправить то, что я не вижу ;-) –