如何在 Aurelia-Dragula 中设置容器特定选项?
How to set container specific options in Aurelia-Dragula?
我在我的应用程序中使用 Aurelia-Dragula (https://github.com/michaelmalonenz/aurelia-dragula),我想为每个容器设置我的选项,就像在非 Aurelia Dragula 中一样。
在我的例子中,我希望在 option.copy = true 的位置使用 ContainerA,在 option.removeOnSpill = true 的位置使用 ContainerB。所以我都试过了:
.plugin('aurelia-dragula', (options) => {
options.removeOnSpill = true;
options.copy = true;
})
但结果是复制占主导地位,removeOnSpill 不起作用。
选项变量在登录到控制台时在 aurelia-dragula 中的外观:
{"containers":[],"copy":true,"copySortSource":false,"revertOnSpill":true,"removeOnSpill":true,"direction":"vertical","ignoreInputTextSelection":true,"mirrorContainer":{}}
如何在非 Aurelia Dragula 中完成的示例(来源:https://bevacqua.github.io/dragula/):
dragula([document.getElementById(left), document.getElementById(right)], {
copy: function (el, source) {
return source === document.getElementById(left)
},
accepts: function (el, target) {
return target !== document.getElementById(left)
}
});
由于设置的选项有很大不同,而且我在 aurelia-dragula 中找不到这方面的文档,所以我无法翻译它。
没错 - 所以是的,这绝对有可能。
我还没有测试过,但我相信它会起作用:
view.html
<template>
<aurelia-dragula containers.one-way="containers" copy.call="shouldCopy(item, container)" accepts.call="shouldAccept(item, target, source, reference)"></aurelia-dragula>
</template>
viewmodel.js
export class ViewModel {
get containers () {
return [document.getElementById(left), document.getElementById(right)]
}
shouldCopy (item, container) {
return container === document.getElementById(left)
}
shouldAccept(item, target, source, reference) {
return target !== document.getElementById(left)
}
}
我在我的应用程序中使用 Aurelia-Dragula (https://github.com/michaelmalonenz/aurelia-dragula),我想为每个容器设置我的选项,就像在非 Aurelia Dragula 中一样。
在我的例子中,我希望在 option.copy = true 的位置使用 ContainerA,在 option.removeOnSpill = true 的位置使用 ContainerB。所以我都试过了:
.plugin('aurelia-dragula', (options) => {
options.removeOnSpill = true;
options.copy = true;
})
但结果是复制占主导地位,removeOnSpill 不起作用。
选项变量在登录到控制台时在 aurelia-dragula 中的外观:
{"containers":[],"copy":true,"copySortSource":false,"revertOnSpill":true,"removeOnSpill":true,"direction":"vertical","ignoreInputTextSelection":true,"mirrorContainer":{}}
如何在非 Aurelia Dragula 中完成的示例(来源:https://bevacqua.github.io/dragula/):
dragula([document.getElementById(left), document.getElementById(right)], {
copy: function (el, source) {
return source === document.getElementById(left)
},
accepts: function (el, target) {
return target !== document.getElementById(left)
}
});
由于设置的选项有很大不同,而且我在 aurelia-dragula 中找不到这方面的文档,所以我无法翻译它。
没错 - 所以是的,这绝对有可能。
我还没有测试过,但我相信它会起作用:
view.html
<template>
<aurelia-dragula containers.one-way="containers" copy.call="shouldCopy(item, container)" accepts.call="shouldAccept(item, target, source, reference)"></aurelia-dragula>
</template>
viewmodel.js
export class ViewModel {
get containers () {
return [document.getElementById(left), document.getElementById(right)]
}
shouldCopy (item, container) {
return container === document.getElementById(left)
}
shouldAccept(item, target, source, reference) {
return target !== document.getElementById(left)
}
}