Dart 检查HtmleElement是否有指令

Dart 检查HtmleElement是否有指令,dart,angular-dart,Dart,Angular Dart,我想知道如何检查元素是否实现了某些指令。 我有两个指令,一个是Sortable,一个是SortableItem,一旦SortableItem中的onDrop启动,我将调用可排序父级上的一些绑定函数。 问题是drop事件的目标是SortableItem元素中的某个元素,因此,我需要找到用作dropzone的原始SortableItem。 我是通过循环event.target的父元素并检查元素是否具有SortableItem的属性选择器来完成的,但是,我觉得这不是正确的方法。如果您知道可以使用的指令

我想知道如何检查元素是否实现了某些指令。
我有两个指令,一个是Sortable,一个是SortableItem,一旦SortableItem中的onDrop启动,我将调用可排序父级上的一些绑定函数。
问题是drop事件的目标是SortableItem元素中的某个元素,因此,我需要找到用作dropzone的原始SortableItem。

我是通过循环event.target的父元素并检查元素是否具有SortableItem的属性选择器来完成的,但是,我觉得这不是正确的方法。

如果您知道可以使用的指令类型,
@ViewChild()
@ViewChildren()
@ContentChild()
,或
@contentChildren()
来查询具有该指令的元素

@ViewChildren(Sortable) QueryList<Sortable> sortables;
@ViewChildren(SortableItem) QueryList<SortableItem> sortableItems;
您可以搜索
QueryList
以查找匹配的元素

someEvent(Element sortable) {
  var found = sortables.toArray().firstWhere((s) => s.elementRef == sortable, orElse: () => null);
  print(found);
}

包含可排序的列表。如果您知道指令的类型,可以使用
@ViewChild()
@ViewChildren()
@contentChildren()
@ContentChild()
@contentChildren()
来查询具有该指令的元素

@ViewChildren(Sortable) QueryList<Sortable> sortables;
@ViewChildren(SortableItem) QueryList<SortableItem> sortableItems;
您可以搜索
QueryList
以查找匹配的元素

someEvent(Element sortable) {
  var found = sortables.toArray().firstWhere((s) => s.elementRef == sortable, orElse: () => null);
  print(found);
}

包含可排序的列表。它可能会为如何在Angular2中实现这一点提供一些提示。

我想使用Angular2_组件,但我发现它有点缺陷。别误会我的意思,但我不知道谷歌使用angular 3 alpha。我试过了,它似乎离生产还很远,不幸的是我想使用angular2_组件,但我发现它有点被窃听了。别误会我的意思,但我不知道谷歌使用angular 3 alpha。我试过了,不幸的是,它似乎离生产还很远