Ich habe diesen CodeWie erstellt man dynamische Objekte in AngularJS?
<script>
var demo =angular.module('ExampleApp', ['ngDraggable']);
demo.controller('MainCtrl', function ($scope) {
$scope.centerAnchor = true;
$scope.toggleCenterAnchor = function() {$scope.centerAnchor = !$scope.centerAnchor}
$scope.draggableObjects = [{name:'subject1'}, {name:'subject2'}, {name:'subject3'}];
$scope.droppedObjects1 = [];
$scope.droppedObjects2 = [];
$scope.onDropComplete1=function(data,evt,i){
console.log(data);
var index = $scope["droppedObjects"+i].indexOf(data);
if (index == -1)
$scope["droppedObjects"+i].push(data);
}
$scope.onDragSuccess1=function(data,evt,i){
console.log("133","$scope","onDragSuccess1", "", evt);
var index = $scope["droppedObjects"+i].indexOf(data);
if (index > -1) {
$scope["droppedObjects"+i].splice(index, 1);
}
}
var inArray = function(array, obj) {
var index = array.indexOf(obj);
}
});
var x = 1;
demo.$inject = ['$scope'];
demo.directive("boxCreator", function($compile){
return{
restrict: 'A',
link: function(scope , element){
element.bind("click", function(e) {
var childNode = $compile('<div ng-drop="true" ng-drop-success="onDropComplete1($data,$event,'+x+')"><span class="title">Drop area #'+x+'</span><div ng-repeat="obj in droppedObjects'+x+'" ng-drag="true" ng-drag-data="obj" ng-drag-success="onDragSuccess1($data,$event,x)" ng-center-anchor="{{centerAnchor}}">{{obj.name}}</div></div>')(scope)
element.parent().prepend(childNode);
x++;
// console.log(angular.element('ng-drop'));
});
}
}
});
</script>
Was ich versuche dynamisch auf Schaltfläche anklickt Objekte erstellen zu tun ist, statt dieser $scope.droppedObjects1 = [];
und $scope.droppedObjects2 = [];
Bitte helfen Sie mir mit diesem und was sind die weiteren Änderungen im Code erforderlich. Ich bin neu bei AngularJS.
können Sie den Code entsprechend ändern? –
inject parse service in Ihre Anweisung und diesen Code in Klick-Funktion hinzufügen –