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
,它将从父类继承注释。 Component
的 queries
参数将消失。
【讨论】:
以上是关于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 文件吗?