我怀疑这是一个错误的甚至可能是一种表现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
值唯一的输出是“富”,然后“酒吧”。
这是一个错误或我误解范围是如何工作的?