在同一个应用中运行普通Dart HTML和Angular Dart 2

时间:2016-01-01 20:16:59

标签: dart angular-dart

是否可以将正常的Dart HTML应用程序与Angular Dart 2混合,并在应用程序的某些部分运行Angular Dart 2而不是其他部分?

我试过了,但似乎Angular正在每个页面注入自己。

index1.html:

<script type="application/dart" src="main.dart"></script>
<script data-pub-inline src="packages/browser/dart.js"></script>
</body>

index2.html:

<my-app>Loading...</my-app>
<script async src="main2.dart" type="application/dart"></script>
<script async src="packages/browser/dart.js"></script>
</body>

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: '<h1>Testing Angular Dart 2</h1>')
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的{​​{1}}时,角度app运行。

是否有可能做我想做的事情,或者包括Angular Dart 2时是全有或全无的情况?

1 个答案:

答案 0 :(得分:2)

你的意思是“似乎Angular正在将自己注入每一页。”?如果您有不同的入口点(index1.htmlindex2.html,...),每个入口点都是一个单独的应用程序,每个入口点都可以启用Angular。如果这不起作用,那就是某些变压器中的错误。