dart - 使用最新的聚合物版本向 ngBootstrap 调用 main 显示错误

标签 dart dart-polymer angular-dart

调用 ngBootstrap 我使用

void main() {
   initPolymer()
      .run(() {
        ngBootstrap(module: new AppModule());
      });
}

由于聚合物 0.10.0-pre.8 这似乎不再可能:
Dartium 目前只允许每个应用程序使用一个 Dart 脚本标签,并且将来它将在单独的隔离中运行它们。为此,需要更新以下所有脚本标签以使用 mime 类型“application/dart;component=1”而不是“application/dart”:


     ⪪script type=​"application/​dart" src=​"main.dart"></script>

​​​
每个文档只允许一个 Dart 脚本标签

但是我的 main 不是一个组件——它是一个普通的 main !!!

最佳答案

比想象的要容易。

索引.html:

<head>
    <script type='application/dart;component=1' src='main.dart'></script>
</head>

主要 Dart :

import 'package:polymer/polymer.dart';
import 'package:angular/angular.dart';
import 'package:angular/angular_dynamic.dart';

// HACK until we fix code gen size. This doesn't really fix it,
// just makes it better.
@MirrorsUsed(override: '*')
import 'dart:mirrors';

void myRouteInitializer(Router router, RouteViewFactory views) {
    views.configure({

        'hello': ngRoute(
            path: '/hello',
            enter: views('views/hello.html')),

        'goodbye': ngRoute(
            path: '/hellopolymer/:callerID',
            enter: views('views/hello-polymer.html'))

    });
}

@NgController( selector: '[webapp-sample]', publishAs: 'ctrl')
class MyControler {
    final Repository _repository;

    MyControler(final RouteProvider routeProvider,this._repository) {
        final int value = routeProvider.parameters["callerID"];
        if(value != null && value != null) {
            _repository.value = value;
        }

    }
    int get value =>  _repository.value;
}

class Repository {
    int value = 0;
}

class AppModule extends Module {
    AppModule() {

        value(RouteInitializerFn, myRouteInitializer);
        value(Repository,new Repository());

        type(MyControler);

        factory(NgRoutingUsePushState, (_) => new NgRoutingUsePushState.value(false));
    }
}

@initMethod
void init() {
    dynamicApplication().addModule(new AppModule()).run();
}

关于dart - 使用最新的聚合物版本向 ngBootstrap 调用 main 显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988895/

相关文章:

Flutter 如何将参数(int)传递给回调?

flutter - 如何获取任意定位的矩形,并将其置于 View 中心,并仅使用 Canvas 变换操作对其进行缩放?

dart - SafeArea 小部件中不安全区域的 Flutter 背景。

data-binding - 使父类(super class)字段可见

dart - 如何知道何时加载组件?

dart - 当我使用ng-bind-html动态添加HTML时,如何启动此HTML的编译

dart - 尝试通过单击并拖动Web组件来创建边界框

Dart Polymer - 将发布的变量传递给其他类

dart - AngularDart 中的模板中是否有可用的预定义变量?

angularjs - Angular Dart中的路由和构造函数