1

HashLocationStrategyを使用して、Dartのangular2-beta.20でルーターを使用しようとしました。しかし、不完全なangular2-beta.15 docs へのこのリンクを除いて、ドキュメントは見つかりませんでし た。この例は、Dart のインポートではなく TypeScript のインポートを示しています。

だから私はインポートしようとしましpackage:angular2/router.dartたが、Dart Analyzer は見つからないという不平を言い続けLocationStrategyHashLocationStrategy

また、上記の例のようにトップレベルの提供関数が存在しないように見えるため、インポートを正確に記述する方法もわかりません。 provide(LocationStrategy, {useClass: HashLocationStrategy})

4

1 に答える 1

4

いくつかの調査の後、次のことがわかりました。

  • LocationStrategyの代わりに の一部HashLocationStrategyに なりました。package:angular2/platform/common.dartpackage:angular2/router.dart

  • bootstrap()- メソッドはプラットフォーム固有であるため、インポートする必要がありますpackage:angular2/platform/browser.dart

  • メソッドで使用できるようにするには、インポートpackage:angular2/router.dartする必要があります。ROUTER_PROVIDERSbootstrap()

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)
  ]);
}

これが誰かに役立つことを願っています! :)

于 2016-08-23T09:13:02.580 に答える