Функция клонирования и добавления jQuery не работает должным образом в директиве AngularJS

В моем приложении я пытаюсь создать корзину для покупок. Вы можете увидеть приложение в этом коде: http://codepen.io/summerfreeze/pen/VjqJYW. Это почти работает, но я борюсь с последней частью. Я хочу, чтобы кнопка "ADD ORDER LINE" добавила еще одну строку заказа под существующую. Я пытаюсь сделать это с помощью jQuery:

  myApp.directive('myDirective', function($scope) {
    $scope.addline = function() {
      $(".orderline").clone().appendTo('.main');
    };
    return addline();
  });

Но это не похоже на работу. Буду благодарен, если кто-нибудь посмотрит код и скажет, какую ошибку я допустил.

2 ответа

Решение

Не уверен, почему вы использовали директиву. Я удалил это из вашего кода, и это работает. У вас все еще есть другие ошибки, но я предполагаю, что вы можете исправить их. Вот ссылка на измененную версию

новая версия codepen

   $scope.addline = function(){
    $(".orderline").clone().appendTo('.main');
  };

Как предложили другие, чтобы следовать стандартам чистого кода, пожалуйста, воздержитесь от использования кода jQuery в AngularJS, так как со временем это приведет к проблемам.

Из того, что я могу сказать, вы не должны добавлять к #main, но #main div[0]

Другие вопросы по тегам