Я занят миграцией с Dart1 на Dart2, и в результате мне пришлось также обновить Angular с 3 до 5.
Я застрял на маршрутизации ...
Это то, что мы имели в Angular2, который был таким же в Angular3:
@Component(
...
)
@RouteConfig(const [
/*Meta*/
const Route(path: "/home", component: AppHomeScene,
name: SceneRoute.APP_HOME_SCENE, useAsDefault: true),
const Route(path: "/project-home", component: ProjectHomeScene,
name: SceneRoute.PROJECT_HOME_SCENE,),
...
])
class AppBuild implements AfterContentInit, OnDestroy {
...
}
В Angular5 я удалил этот блок @RouteConfig
, создал routes.dart
и paths.dart
import 'package:angular_router/angular_router.dart';
import 'package:appbuild/enum/enums.dart';
class Paths {
static final home = new RoutePath(path: "home", useAsDefault: true, additionalData: SceneRoute.APP_HOME_SCENE);
...
}
и
import 'package:appbuild/paths.dart';
export 'paths.dart';
class Routes {
static final all = <RouteDefinition>[
/*Meta*/
RouteDefinition(routePath: Paths.home, component: AppHomeScene),
...
];
}
Где у меня в настоящее время есть component: AppHomeScene
, в документах говорится, что оно должно быть в формате hero_list_template.HeroListComponentNgFactory,
![enter image description here](https://i.stack.imgur.com/y4qps.png)
Если я пытаюсь выполнить импорт, IntelliJ помечает это как ошибку:
import 'component/home/home-scene.template.dart' as 'home-scene-template';
![enter image description here](https://i.stack.imgur.com/fyqqp.png)
В какой моментэтот шаблон сгенерирован для меня, чтобы я мог выполнить такой импорт, или я должен что-то делать с классом HomeScene
, чтобы этот шаблон мог импортироваться?
HomeScene
- это все еще стандартный компонентв формате Angular3:
@Component(
selector: 'home-scene',
// language=CSS
styles: const["""
...
"""
],
// language=HTML
template: """
...
""",
providers: const [...],
directives: const [...]
)
class AppHomeScene extends AppScene implements AfterContentInit, OnDestroy {
....
}