dart:用查询替换 ViewChildren

Posted

技术标签:

【中文标题】dart:用查询替换 ViewChildren【英文标题】:dart: replacing ViewChildren by queries 【发布时间】:2017-01-25 00:46:13 【问题描述】:

我知道我可以使用 @ViewChildren 注释来访问 DOM 元素。但是,在这种特殊情况下,entries 属性是在祖先组件 (MenuComp) 中定义的。于是我尝试使用queries属性,如下:

@Component(
    selector: 'my-component',
    template: '''
    <ul>
      <subentry-comp #entries *ngFor="let item of items" [item]="item"></subentry-comp>
    </ul>''',
    inputs: const <String>['items'],
    queries: const <String, dynamic>'entries': const ViewChildren('entries'))
class SubmenuComp extends MenuComp 

entries 仍然为空。我是否以错误的方式使用了queries 属性?

【问题讨论】:

以前从未见过quieries ind @Component()。我知道构造函数参数的 @Query() 注释,但只要我使用 Angular2(自 Alpha 后期以来),它就被弃用了。您的查询似乎从模板中查询元素。我不明白这与“祖先”有何关系 AFAIK @ViewChild(ren)@ContentChild(ren) 建立在 @Query 之上,我不希望 @Query 做一些实质性的不同。 【参考方案1】:

从 Angular 4.0.0-alpha+1 开始,如果您在父类的字段上使用 @ViewChildren,它将从父类继承注释。 Componentqueries 参数将消失。

【讨论】:

以上是关于dart:用查询替换 ViewChildren的主要内容,如果未能解决你的问题,请参考以下文章

vue-cli 3中dart-sass替换node-sass

vue-cli 3中dart-sass替换node-sass

vue-cli 3中dart-sass替换node-sass

使用 dart 而不是 JavaScript 来操作 DOM,你需要一个 pubspec 文件吗?

Dart 映射,如何根据其键 id 替换 list<map> 中的特定键值?

如何替换 Flutter 中捆绑的 Dart SDK 以在 Apple Silicon (ARM64) 上原生运行?