【问题标题】:How to use HashLocationStrategy for router in angular2-beta.20 in dart?如何在 dart 的 angular2-beta.20 中为路由器使用 HashLocationStrategy?
【发布时间】:2016-08-23 09:13:02
【问题描述】:
我尝试在 Dart 中使用 angular2-beta.20 中的路由器和 HashLocationStrategy。
但我找不到任何文档,除了
this link to angular2-beta.15 docs,不完整。
该示例显示了 TypeScript 导入而不是 Dart 导入。
所以我尝试导入package:angular2/router.dart,但Dart Analyzer一直抱怨找不到LocationStrategy和HashLocationStrategy
我也不知道如何准确地编写导入,因为上面示例中的顶级提供函数似乎不存在。
provide(LocationStrategy, {useClass: HashLocationStrategy})
【问题讨论】:
标签:
dart
angular2-routing
angular2-router
【解决方案1】:
经过一番研究,我发现了以下内容:
LocationStrategy 和 HashLocationStrategy 现在是
package:angular2/platform/common.dart 而不是 package:angular2/router.dart。
bootstrap()- 方法是平台特定的,所以我们需要导入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)
]);
}
希望这对某人有所帮助! :)