Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将类用作dart聚合元素的属性_Dart_Polymer - Fatal编程技术网

将类用作dart聚合元素的属性

将类用作dart聚合元素的属性,dart,polymer,Dart,Polymer,我有一个聚合元素,它需要从web服务加载一些数据 <gallery-pol loader=""></gallery-pol> @CustomTag('gallery-pol') class PolymerGallery extends PolymerElement { @published GalleryDataLoader loader; ... } @CustomTag('gallery-pol') 类polymergalley扩展了polymereme

我有一个聚合元素,它需要从web服务加载一些数据

<gallery-pol loader=""></gallery-pol>

@CustomTag('gallery-pol')
class PolymerGallery extends PolymerElement {
  @published GalleryDataLoader loader;
  ...
}

@CustomTag('gallery-pol')
类polymergalley扩展了polymerement{
@发布的GalleryDataLoader;
...
}
我不想在聚合元素中实现数据加载,因为它不应该固定到特定的web服务

<gallery-pol loader=""></gallery-pol>

@CustomTag('gallery-pol')
class PolymerGallery extends PolymerElement {
  @published GalleryDataLoader loader;
  ...
}
将实现实际数据加载的对象传递到聚合元素的最佳方式是什么

我应该在主程序中选择我的元素并将加载程序分配给元素吗? 或者有没有其他方法可以直接将其作为属性传递

谢谢,,
LoSputs

< P>我会考虑将加载器建模为自定义元素。从那里你可以选择他们如何沟通

一种是让画廊作为孩子找到加载器:

<z-gallery>
  <z-gallery-loader></z-gallery-loader>
</z-gallery>
另一种方法是通过事件进行通信:

<z-gallery-loader on-load-gallery="{{ loadGallery }}">
  <z-gallery></z-gallery>
</z-gallery-loader>

可以触发“加载库”(或者一些更以用户操作为中心的事件)自定义事件以请求加载数据,并且由于它是作为事件的目标包含的,所以加载程序可以执行它的工作并将数据推回库中

如果不希望包含关系存在,则可以通过使用触发加载程序上事件的不同父元素重定向事件:

<z-gallery-view on-load-gallery="{{ loadGallery }}">
  <z-gallery-loader></z-gallery-loader>
  <z-gallery></z-gallery>
</z-gallery-view>


在这种情况下,loadGallery将委托给加载器子级。

没有问题,您可以使用
loader
属性分配加载器。您希望从何处或如何通过装载机?您是否希望通过代码
(querySelector('gallery-pol')作为PolymerGallery来执行此操作。loader=loader?或者您是否有
元素位于阴影DOM中的
元素?在哪里定义应该使用什么加载程序实现?我在
<z-gallery-view on-load-gallery="{{ loadGallery }}">
  <z-gallery-loader></z-gallery-loader>
  <z-gallery></z-gallery>
</z-gallery-view>