2016-06-28 10 views
2

あるdivから別のdivに要素を移動したいとします。anglejsを使用してあるdivから別のdivに要素を移動する方法

たとえば、DIV-Aにボタンがあり、DIV-Bでボタンを移動したいとします。

これは、簡単に

$("div-b").append('button'); 
$("div-a button").remove(); 

ようにjQueryで行うことができます。しかし、私はどこAngularJs 1Xに始めることを考えることができないのです。 一連の10〜20個のdivが連続してあり、ボタンをあるdivから別のdivに順番に移動したいとします。角度データで

+1

[ 'angular.element'](https://docs.angularjs.org/api/ng/function/angular.element)が必要です:「生のDOM要素またはHTML文字列をラップしますjQuery要素として。 – str

+0

これは、角度のjqliteだけで行うことができると思います。 – YOU

答えて

0

<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 
} 

は、ビューが自動的に更新されるべきオブジェクトとして表されます。

0

moveItem関数は、すべての子要素を1つの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); 
    }; 
関連する問題