2016-08-23 42 views
1

我试图在Dart的angular2-beta.20中使用HashLocationStrategy中的路由器。 但我找不到任何文档,除了 this link to angular2-beta.15 docs,这是不完整的。 该示例显示的是TypeScript导入,而不是Dart。如何在dart中使用HashLocationStrategy作为angular2-beta.20中的路由器?

所以我试图导入package:angular2/router.dart,但飞镖分析仪一直抱怨说,它无法找到LocationStrategyHashLocationStrategy

此外,我不知道,如何准确写的进口,因为顶层提供功能,正如上面的例子,似乎不存在。 provide(LocationStrategy, {useClass: HashLocationStrategy})

回答

4

经过一番研究,我发现以下几点:

  • LocationStrategyHashLocationStrategy现在的 package:angular2/platform/common.dart而不是package:angular2/router.dart一部分。我们需要导入package:angular2/platform/browser.dart

  • 我们需要导入package:angular2/router.dart使ROUTER_PROVIDERS可用于bootstrap()方法。

这里是工作的代码示例为DART文件初始化:

// needed to import "bootstrap" method 
import 'package:angular2/platform/browser.dart'; 

// needed to import LocationStrategy and HashLocationStrategy 
import 'package:angular2/platform/common.dart'; 

// needed for Provider class 
import 'package:angular2/angular2.dart'; 

// needed to import ROUTER_PROVIDERS 
import 'package:angular2/router.dart'; 

// import your app_component as root component for angular2 
import 'app_component.dart'; 

void main() { 
    bootstrap(AppComponent, [ 
    ROUTER_PROVIDERS, 
    const Provider(LocationStrategy, useClass: HashLocationStrategy) 
    ]); 
} 

希望这有助于有人! :)

相关问题