Dart 角镖中的求值误差
我得到的评估错误如下所示,但我的程序中的一切都在工作秩序,所以我想知道为什么我得到这个?从堆栈跟踪中没有问题所在位置的指示Dart 角镖中的求值误差,dart,angular-dart,Dart,Angular Dart,我得到的评估错误如下所示,但我的程序中的一切都在工作秩序,所以我想知道为什么我得到这个?从堆栈跟踪中没有问题所在位置的指示isChecked(field,value)是一个函数,它返回一个布尔值,我在ng model属性中对该布尔值进行计算,该属性由ng repeat生成,约70个复选框。如果这是一个问题,任何帮助和建议都将不胜感激:) 这里的“alertFilter”是从服务中获得的。更新alertFilter时会触发错误-这会触发共享此筛选器的程序的其他4个部分进行更新。请注意,这些其他部分
isChecked(field,value)
是一个函数,它返回一个布尔值,我在ng model
属性中对该布尔值进行计算,该属性由ng repeat
生成,约70个复选框。如果这是一个问题,任何帮助和建议都将不胜感激:)
这里的“alertFilter”是从服务中获得的。更新alertFilter时会触发错误-这会触发共享此筛选器的程序的其他4个部分进行更新。请注意,这些其他部分不更新alertFilter,它们仅从中读取。请添加一些代码(
isChecked()
和复选框的html)@GünterZöchbauer感谢您的回复。我已经用额外的代码更新了OP。isChecked中的alertFilter变量是通过从服务获取它的getter获得的,因为程序的多个部分共享此筛选器。我假设错误与此有关,但我仍然不明白为什么我的程序没有任何错误,尽管有错误。我认为添加的代码很好地演示了您正在做的事情,但我不知道为什么它会失败。
Eval Error: Cannot assign to isChecked(field, val) while evaling [isChecked(field, val)]
FROM:
#0 Expression.assign (package:angular/core/parser/syntax.dart:45:7)
#1 _UnwrapExceptionDecorator.assign (package:angular/core/parser/parser.dart:125:26)
#2 BoundExpression.assign (package:angular/core/parser/syntax.dart:60:41)
#3 NgModel.modelValue= (package:angular/directive/ng_model.dart:211:11)
#4 NgModel.viewValue= (package:angular/directive/ng_model.dart:200:5)
#5 InputCheckbox.InputCheckbox.<anonymous closure>.<anonymous closure> (package:angular/directive/ng_model.dart:318:19)
#6 NgModelOptions._runFuncDebounced (package:angular/directive/ng_model_options.dart:80:11)
#7 NgModelOptions.executeChangeFunc (package:angular/directive/ng_model_options.dart:68:20)
#8 InputCheckbox.InputCheckbox.<anonymous closure> (package:angular/directive/ng_model.dart:317:49)
#9 _rootRunUnary (dart:async/zone.dart:915)
#10 _ZoneDelegate.runUnary (dart:async/zone.dart:510)
#11 VmTurnZone._onRunUnary.<anonymous closure> (package:angular/core/zone.dart:122:55)
#12 VmTurnZone._onRunBase (package:angular/core/zone.dart:104:16)
#13 VmTurnZone._onRunUnary (package:angular/core/zone.dart:122:7)
#14 _CustomZone.runUnary (dart:async/zone.dart:811)
#15 _CustomZone.runUnaryGuarded (dart:async/zone.dart:717)
#16 _CustomZone.bindUnaryCallback.<anonymous closure> (dart:async/zone.dart:743)
STACKTRACE:
#0 _UnwrapExceptionDecorator.assign (package:angular/core/parser/parser.dart:127:7)
#1 BoundExpression.assign (package:angular/core/parser/syntax.dart:60:41)
#2 NgModel.modelValue= (package:angular/directive/ng_model.dart:211:11)
#3 NgModel.viewValue= (package:angular/directive/ng_model.dart:200:5)
#4 InputCheckbox.InputCheckbox.<anonymous closure>.<anonymous closure> (package:angular/directive/ng_model.dart:318:19)
#5 NgModelOptions._runFuncDebounced (package:angular/directive/ng_model_options.dart:80:11)
#6 NgModelOptions.executeChangeFunc (package:angular/directive/ng_model_options.dart:68:20)
#7 InputCheckbox.InputCheckbox.<anonymous closure> (package:angular/directive/ng_model.dart:317:49)
#8 _rootRunUnary (dart:async/zone.dart:915)
#9 _ZoneDelegate.runUnary (dart:async/zone.dart:510)
#10 VmTurnZone._onRunUnary.<anonymous closure> (package:angular/core/zone.dart:122:55)
#11 VmTurnZone._onRunBase (package:angular/core/zone.dart:104:16)
#12 VmTurnZone._onRunUnary (package:angular/core/zone.dart:122:7)
#13 _CustomZone.runUnary (dart:async/zone.dart:811)
#14 _CustomZone.runUnaryGuarded (dart:async/zone.dart:717)
#15 _CustomZone.bindUnaryCallback.<anonymous closure> (dart:async/zone.dart:743)
<fieldset ng-repeat="field in $.filterFields">
<legend>Filter by {{field}}</legend>
<span ng-repeat="val in $.getValuesForField(field)">
<label>{{val}}</label>
<input type="checkbox" ng-click="$.checkboxClicked(field, val)" ng-model="isChecked(field, val)">
</span>
</fieldset>
bool isChecked(String key, String value){
if(alertFilter.containsKey(key) && alertFilter[key].contains(value)) {
return true;
}
else{
return false;
}
}