我想將元素從一個div移動到另一個div。如何使用angularjs將元素從一個div移動到另一個div
比方說,例如DIV-A中有一個按鈕,我想將它移動到DIV-B中。
它可以在jQuery中很容易做到像
$("div-b").append('button');
$("div-a button").remove();
但我不能想到哪裏開始與AngularJs 1X。 連續有一系列10-20 div,我想將按鈕從一個div依次移動到另一個div。
我想將元素從一個div移動到另一個div。如何使用angularjs將元素從一個div移動到另一個div
比方說,例如DIV-A中有一個按鈕,我想將它移動到DIV-B中。
它可以在jQuery中很容易做到像
$("div-b").append('button');
$("div-a button").remove();
但我不能想到哪裏開始與AngularJs 1X。 連續有一系列10-20 div,我想將按鈕從一個div依次移動到另一個div。
在角度數據被表示爲對象
<div ng-repeat="a in ctrl.a"></div>
<div ng-repeat="b in ctrl.b"></div>
vm.a = ['a1', 'a2'];
vm.b = [];
function move(obj) {
// find obj in vm.a and remove
// push obj in vm.b
}
那麼該視圖應被自動更新。
moveItem函數將所有子元素從一個div移動到另一個div。所有的事件和觀察者都可以在這個過程中生存下去,這些元素仍然會在移動之前的控制器中,就像DOM中的其他地方一樣。
需要的JQuery
var dom = angular.element($window.document);
var itemFrom = [];
var itemTo = [];
var moveItems = function (from, to) {
from.children().appendTo(to);
};
var changeHeader = function() {
if (itemFrom.length === 0) {
itemFrom = dom.querySelectorAll("#itemFrom");
}
if (itemTo.length === 0) {
itemTo = dom.querySelectorAll("#itemTo");
}
moveItems(itemFrom, itemTo);
};
['angular.element'](https://docs.angularjs.org/api/ng/function/angular.element):「包裝了原始DOM元素或HTML字符串作爲jQuery元素。「 – str
我認爲這可以單獨使用angular的jqlite來完成。 – YOU