Angular 排序和计数,德拉古拉
Angular Sorting and counting, Dragula
我有以下场景:
JSON 对象数组通过 angular ajax 获取并通过 ng-repeat 显示为列表。
该列表按对象 属性 "index" 排序,它被设置为相应列表项的默认输入值。
用户可以更改输入值。
按下按钮后,列表会重新绘制,并按更新的输入值排序。
现在应该有一个计数器,++ 每当列表项改变位置时。
到目前为止,我设法计算了所有具有更新值的列表项。
如何为其他更改位置的列表项注册位置更改?
例如:#3改变位置到#1,那么#1和#2也改变位置。
其次,使用 Dragula,列表项现在可以拖动。
列表项被拖动后如何重新排序?
我也很累Angular德拉古拉没有成功
这是我在 github 上的代码。
感谢您的帮助!
我遇到了类似的问题。您需要一种获取 DOM 索引并更新 JavaScript 对象以匹配的方法。我遍历 DOM 元素,得到它们的索引值,在数据对象中找到相应的项,然后将对象中的索引值设置为 DOM 索引值的索引值。希望这个例子对某人有所帮助。
var updateIndexes = function() {
// this gets the index of any DOM element, like jQuery index()
function getIndex(el) {
for (var i = 0; el = el.previousElementSibling; i++);
return i;
}
// loop through the list DOM elements
for (var i = 0; i < dataArray.length; i++) {
var dataId = dataArray[i].id;
var domIndex = getIndex(document.getElementById(dataId));
dataArray[i].index= domIndex;
}
};
我有以下场景:
JSON 对象数组通过 angular ajax 获取并通过 ng-repeat 显示为列表。 该列表按对象 属性 "index" 排序,它被设置为相应列表项的默认输入值。
用户可以更改输入值。 按下按钮后,列表会重新绘制,并按更新的输入值排序。 现在应该有一个计数器,++ 每当列表项改变位置时。
到目前为止,我设法计算了所有具有更新值的列表项。 如何为其他更改位置的列表项注册位置更改?
例如:#3改变位置到#1,那么#1和#2也改变位置。
其次,使用 Dragula,列表项现在可以拖动。 列表项被拖动后如何重新排序?
我也很累Angular德拉古拉没有成功
这是我在 github 上的代码。
感谢您的帮助!
我遇到了类似的问题。您需要一种获取 DOM 索引并更新 JavaScript 对象以匹配的方法。我遍历 DOM 元素,得到它们的索引值,在数据对象中找到相应的项,然后将对象中的索引值设置为 DOM 索引值的索引值。希望这个例子对某人有所帮助。
var updateIndexes = function() {
// this gets the index of any DOM element, like jQuery index()
function getIndex(el) {
for (var i = 0; el = el.previousElementSibling; i++);
return i;
}
// loop through the list DOM elements
for (var i = 0; i < dataArray.length; i++) {
var dataId = dataArray[i].id;
var domIndex = getIndex(document.getElementById(dataId));
dataArray[i].index= domIndex;
}
};