不要publishAs值必须在角飞镖独特之处?(Do publishAs values have t

2019-10-19 05:11发布

我怀疑这是一个错误的甚至可能是一种表现https://github.com/angular/angular.dart/issues/396 。

我要注册多个控制器,并希望使用ctrl作为的价值publishAt内场@NgDirective 。 这导致了第二个ctrl重挫的第一个值,即使它们是在不同的范围存在。

这里是视图:

<!DOCTYPE html>
<html>
  <body>    
    <div>
      <div foo-controller>

        <!-- PRINTS 'bar'. -->
        <p>{{ctrl.item}}</p>
      </div>

      <div bar-controller>
        <!-- PRINTS 'bar'. -->           
        <p>{{ctrl.item}}</p>
      </div>
    </div>

    <script type="application/dart" src="main.dart"></script>
    <script type="text/javascript" src="packages/browser/dart.js"></script>
  </body>
</html>

这里是飞镖的代码:

import 'package:angular/angular.dart';

@NgDirective(
  selector: '[foo-controller]',
  publishAs: 'ctrl'
)
class FooController {
  String item = 'foo';
}

@NgDirective(
  selector: '[bar-controller]',
  publishAs: 'ctrl'
)
class BarController {
  String item = 'bar';
}

main() {
  ngBootstrap(module: new Module()
      ..type(FooController)
      ..type(BarController));
}

输出是“酒吧”两次。 如果我做publishAs值唯一的输出是“富”,然后“酒吧”。

这是一个错误或我误解范围是如何工作的?

Answer 1:

重复的: https://github.com/angular/angular.dart/issues/396 不解CSS选择器来触发控制器



Answer 2:

您应该使用@NgController而非@NgDirective



文章来源: Do publishAs values have to be unique in Angular Dart?