【发布时间】:2016-06-29 02:55:00
【问题描述】:
我有一个 Angular2 组件使用 ng2-dragula 像这样拖放:
@Component({
selector: 'my-comp',
directives: [
Dragula
],
viewProviders: [
DragulaService
],
template: `
<div class="my-div">
<div *ngFor="#item of items" [dragula]='"card-bag"' [dragulaModel]='items'>
...
</div>
</div>
`
})
我的问题:如果我创建多个“my-comp”组件,“card-bag”中的项目无法在这些组件中拖放,尽管它们具有相同的包名称。这些项目只能在其拥有的组件内拖放。
我们是否有任何跨组件拖放的配置,或者这是 ng2-dragula 限制?
谢谢。
【问题讨论】:
-
希望其他人可以加入,但我认为您必须在引导程序中将此作为全球服务才能获得这种功能。问题是当您在每个组件中单独导入它时,它会为每个组件创建一个新实例。如果将它添加到引导程序中,它是所有组件的全局附件。我希望这能回答您的问题!
-
@MorganG:谢谢。我也想过这个想法,但希望我们能有官方的或者更好的解决这个问题的办法。。
-
我解决这个问题的一种方法是,我有一个服务,它是一个带有可观察对象列表的全局变量,我只是在我的其他部分中每次需要它时引用该可观察对象或对象应用。每当我需要另一个全局可观察对象或对象时,我只需将其添加到该服务中。但我同意必须以这种方式做所有事情似乎有点倒退。
-
@MorganG 你能用一些代码详细说明一下吗?我正在尝试做同样的事情,但不知道如何在全球范围内获得它。
-
@MorganG 你有这方面的 plnkr 吗?我有这个问题,除了我有组件的缩略图,我想在拖动缩略图时加载相应的组件
标签: javascript drag-and-drop angular dragula