gpt4 book ai didi

aurelia - 如何访问子元素的附加行为?

转载 作者:行者123 更新时间:2023-12-01 13:52:57 25 4
gpt4 key购买 nike

我正在尝试为 https://github.com/RubaXa/Sortable 编写 aurelia 附加行为这允许使用 html 5 拖放重新排序列表中的项目,类似于他们为 AngularJS 所拥有的。到目前为止,html 元素的拖放与以下模板代码完美配合

<template>
<require from="./sortable"></require>
<section>
<h2>${title}</h2>
<ul sortable>
<li repeat.for="item of items">${item.title}</li>
</ul>
</section>
</template>

和依附行为
import {Behavior} from 'aurelia-framework';
import Sortable from 'rubaxa-sortable';

export class SortableAttachedBehavior {
static metadata() {
return Behavior
.attachedBehavior('sortable');
}

static inject() {
return [Element];
}

constructor(element) {
this.element = element;
}

bind(viewModel) {
this.sortable = Sortable.create(this.element);
}

unbind() {
this.sortable.destroy();
this.sortable = null;
}
}

下一步除了对 html 元素重新排序之外,我还想对模型中的数据项重新排序。我可以从我拥有的可排序实例中获取有关 dnd 的所需事件。我现在的问题是获取对项目的引用。

因为我只想在子元素上存在 repeat.for 行为时执行此操作,所以我认为最好的方法是访问其 Repeat 实例并更新其 items 属性的内容。但是如何检查此附加行为的存在以及如何获取 Repeat 实例?

或者是否有更好的方法来访问这些项目(除了再次将它们指定为我的可排序行为的属性)?

干杯,蒂尔曼

最佳答案

已经有插件了
例如 https://github.com/buttonwoodcx/bcx-aurelia-reorderable-repeat

您可以通过查看 @ 源代码 (-:

关于aurelia - 如何访问子元素的附加行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29435832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com