Можно ли смешивать обычное HTML-приложение Dart с Angular Dart 2 и запускать Angular Dart 2 в определенных частях приложения, а не в других?

Я пытался это сделать, но похоже, что Angular внедряется на каждую страницу.

index1.html:




index2.html:

Loading...



main.dart:

// many imports

void main() {
  // manual code to hook urls, html etc
}

main2.dart:

import 'package:angular2/angular2.dart';
import 'package:angular2/bootstrap.dart';

@Component(selector: 'my-app', template: '

Testing Angular Dart 2

') class AppComponent {} main() { bootstrap(AppComponent); }

pubspec.yaml:

...
environment:
  sdk: '>=1.0.0 <2.0.0'
dependencies:
  ...
  less_dart: any
  browser: any
  http: any
  event_bus: any
  dart_to_js_script_rewriter: any
  angular2: 2.0.0-beta.0
transformers:
- dart_to_js_script_rewriter
- $dart2js:
    commandLineOptions: [--enable-experimental-mirrors]
- less_dart:
    entry_points: [web/styles/main.less, web/styles/test.less]
    build_mode: dart
- angular2:
    entry_points: web/main2.dart

Преобразователь angular2 явно указывает на main2.dart и только index2.html импортирует main2.dart, но когда я загружаю index1 .html, который импортирует main.dart, запускается приложение angular.

Можно ли делать то, что я хочу, или это случай «все или ничего» при включении Angular Dart 2?

Jan Vladimir Mostert

Ответов: 1

Ответы (1)

Что вы имеете в виду, говоря «кажется, что Angular внедряется на каждую страницу»? Если у вас разные точки входа (index1.html, index2.html, ...), каждая точка входа является отдельным приложением, и для каждой вы можете включить Angular или нет. Если это не сработает, это ошибка в каком-то трансформаторе.

2022 WebDevInsider