Dependency injection 升级到AngularDart 0.13.0并获取有关路由和di的错误
我升级到AngularDart 0.13.0,收到以下错误。使用新的Dependency injection 升级到AngularDart 0.13.0并获取有关路由和di的错误,dependency-injection,dart,angular-dart,Dependency Injection,Dart,Angular Dart,我升级到AngularDart 0.13.0,收到以下错误。使用新的di程序包2.0.1初始化RoutingModule的正确方法是什么 在main.dart中,我有: class RoutingModule extends Module { RoutingModule() { bind(RouteInitializerFn, toValue: myRouteInitializer); bind(NgRoutingUsePushState, toFactory
di
程序包2.0.1初始化RoutingModule的正确方法是什么
在main.dart
中,我有:
class RoutingModule extends Module {
RoutingModule() {
bind(RouteInitializerFn, toValue: myRouteInitializer);
bind(NgRoutingUsePushState,
toFactory: (_) => new NgRoutingUsePushState.value(false));
}
}
如果您认为其他模块相关,请告诉我。其余的只是简单的bind(组件)代码>语句
我收到以下两个错误:
bind(RouteProvider): Inject list without toFactory is deprecated. Use `toInstanceOf: Type|Key` instead. Called from:
#0 Binding.bind (package:di/src/module.dart:33:11)
#1 DirectiveInjector.bind (package:angular/core_dom/directive_injector.dart:163:23)
#2 module (package:angular/routing/ng_view.dart:60:21)
#3 ElementBinder.bind (package:angular/core_dom/element_binder.dart:285:35)
#4 TaggingViewFactory._bindTagged (package:angular/core_dom/tagging_view_factory.dart:95:36)
#5 TaggingViewFactory._link (package:angular/core_dom/tagging_view_factory.dart:143:24)
#6 TaggingViewFactory.call (package:angular/core_dom/tagging_view_factory.dart:72:12)
#7 Application.run.<anonymous closure>.<anonymous closure> (package:angular/application.dart:183:22)
#8 _rootRunUnary (dart:async/zone.dart:730)
#9 _ZoneDelegate.runUnary (dart:async/zone.dart:462)
#10 _onRunUnary.<anonymous closure> (package:angular/core/zone.dart:116:63)
#11 VmTurnZone._onRunBase (package:angular/core/zone.dart:99:16)
#12 _onRunUnary (package:angular/core/zone.dart:116:17)
#13 _ZoneDelegate.runUnary (dart:async/zone.dart:462)
#14 _CustomizedZone.runUnary (dart:async/zone.dart:667)
#15 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:488)
#16 _Future._propagateToListeners (dart:async/future_impl.dart:571)
#17 _Future._completeWithValue (dart:async/future_impl.dart:331)
#18 _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:393)
#19 _rootRun (dart:async/zone.dart:723)
#20 _ZoneDelegate.run (dart:async/zone.dart:453)
#21 _onScheduleMicrotask.<anonymous closure> (package:angular/core/zone.dart:119:43)
#22 VmTurnZone._finishTurn (package:angular/core/zone.dart:146:34)
#23 VmTurnZone._onRunBase (package:angular/core/zone.dart:106:43)
#24 _onRun (package:angular/core/zone.dart:112:17)
#25 _ZoneDelegate.run (dart:async/zone.dart:453)
#26 _CustomizedZone.run (dart:async/zone.dart:663)
#27 VmTurnZone.run (package:angular/core/zone.dart:235:40)
#28 Application.run (package:angular/application.dart:171:20)
#29 main (http://localhost/main.dart:52:11)
Closure call with mismatched arguments: function 'RoutingModule.RoutingModule.<anonymous closure>'
NoSuchMethodError: incorrect number of arguments passed to method named 'RoutingModule.RoutingModule.<anonymous closure>'
Receiver: Closure: (dynamic) => dynamic
Tried calling: RoutingModule.RoutingModule.<anonymous closure>()
Found: RoutingModule.RoutingModule.<anonymous closure>(_@0x14ac1f93)
STACKTRACE:
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#1 ModuleInjector.getByKey (package:di/src/injector.dart:162:48)
#2 ModuleInjector.getByKey (package:di/src/injector.dart:185:7)
#3 ModuleInjector.getByKey (package:di/src/injector.dart:145:38)
#4 ModuleInjector.getByKey (package:di/src/injector.dart:185:7)
#5 DirectiveInjector._getByKey (package:angular/core_dom/directive_injector.dart:209:72)
#6 DirectiveInjector._new (package:angular/core_dom/directive_injector.dart:287:39)
#7 DirectiveInjector._getDirectiveByKey (package:angular/core_dom/directive_injector.dart:216:94)
#8 DirectiveInjector._getByKey (package:angular/core_dom/directive_injector.dart:211:44)
#9 DirectiveInjector.getByKey (package:angular/core_dom/directive_injector.dart:198:23)
#10 DirectiveInjector.getByKey (package:angular/core_dom/directive_injector.dart:199:7)
#11 DirectiveInjector.getByKey (package:angular/core_dom/directive_injector.dart:199:7)
#12 ElementBinder._link (package:angular/core_dom/element_binder.dart:207:49)
#13 ElementBinder.bind (package:angular/core_dom/element_binder.dart:298:10)
#14 TaggingViewFactory._bindTagged (package:angular/core_dom/tagging_view_factory.dart:95:36)
#15 TaggingViewFactory._link (package:angular/core_dom/tagging_view_factory.dart:143:24)
#16 TaggingViewFactory.call (package:angular/core_dom/tagging_view_factory.dart:72:12)
#17 TaggingViewFactory.call (package:angular/core_dom/tagging_view_factory.dart:74:7)
#18 TaggingViewFactory.call (package:angular/core_dom/tagging_view_factory.dart:74:7)
#19 Application.run.<anonymous closure>.<anonymous closure> (package:angular/application.dart:183:22)
#20 _rootRunUnary (dart:async/zone.dart:730)
#21 _ZoneDelegate.runUnary (dart:async/zone.dart:462)
#22 _onRunUnary.<anonymous closure> (package:angular/core/zone.dart:116:63)
#23 VmTurnZone._onRunBase (package:angular/core/zone.dart:99:16)
#24 _onRunUnary (package:angular/core/zone.dart:116:17)
#25 _ZoneDelegate.runUnary (dart:async/zone.dart:462)
#26 _CustomizedZone.runUnary (dart:async/zone.dart:667)
#27 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:488)
#28 _Future._propagateToListeners (dart:async/future_impl.dart:571)
#29 _Future._completeWithValue (dart:async/future_impl.dart:331)
#30 _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:393)
#31 _rootRun (dart:async/zone.dart:723)
#32 _ZoneDelegate.run (dart:async/zone.dart:453)
#33 _onScheduleMicrotask.<anonymous closure> (package:angular/core/zone.dart:119:43)
#34 VmTurnZone._finishTurn (package:angular/core/zone.dart:146:34)
#35 VmTurnZone._onRunBase (package:angular/core/zone.dart:106:43)
#36 _onRun (package:angular/core/zone.dart:112:17)
#37 _ZoneDelegate.run (dart:async/zone.dart:453)
#38 _CustomizedZone.run (dart:async/zone.dart:663)
#39 VmTurnZone.run (package:angular/core/zone.dart:235:40)
#40 Application.run (package:angular/application.dart:171:20)
#41 main (http://localhost/main.dart:52:11)
我仍然收到绑定(RouteProvider)
错误
如果我注释掉bind(NgRoutingUsePushState,…)
行,参数不匹配的闭包调用
错误就会消失
不推荐使用不带toFactory的注入列表。改为使用来安装:键入|键
我想toInstanceOf
是不合适的,因为它采用的是类型而不是实例。我会尝试toValue
而不是toFactory
对于参数不匹配错误,您必须删除匿名函数中的u参数:
绑定(ngroutingusepushtate,toFactory:()=>newngroutingusepushtate.value(false))
我还在调查另一个问题,我也有。找到后我会告诉你的。嗯。这似乎对我的错误没有影响。。。我试着把这些东西注释出来,但仍然有一个错误。我把问题更新了一点。我没有尝试过进行一次干净的安装,这可能是一次有用的检查,因为我最后评论了我的整个应用程序。这里有一个pull请求,要求将angular.dart.tutorial更新为0.13.0(最后两行),从修复了这两个错误中复制第18行和第28行。我不知道那个请求。谢谢我让它工作了。见我最后一次对甘特·泽克鲍尔回答的评论。如果您仍然无法使用它,我可以稍后添加更多详细信息。是的,现在它也可以使用了,这要感谢Binding.printInjectWarning=false;,谢谢
void main() {
applicationFactory()
.run();
}