javascript
  • angularjs
  • angularjs-ng-repeat
  • 2014-10-11 4 views 3 likes 
    3

    Я пытаюсь сделать приложение для планирования с помощью AngularJS. Главная особенность - создать задачу. Я хочу поставить источник задачи в директиве:Угловая директива курсора и ngRepeat

    <section id="runningTasks" ng-controller='RunningTaskCtrl as ctrl'> 
        <task class="task" ng-repeat='task in ctrl.tasks'></task> 
    </section> 
    

    Для каждой задачи, я добавляю его в DIV. Вот мое определение директивы:

    .directive('task', function(){ 
        return { 
         restrict: 'EA', 
         replace:'true', 
         templateUrl: '/Planificator/directives/task/task.html', 
         link : function(scope, element, attrs){ 
          var date = $(element).find(".datepicker"); 
          date.datepicker(); 
          date.datepicker("option", "dateFormat", "dd-mm-yy"); 
         } 
        }; 
    }) 
    

    И содержание task.html:

    <div class="task" ng-click="task.editting = true" task> 
        <h1>{{ task.title }}</h1> 
        <p> 
         {{ task.comment }} 
        </p> 
        <div class="edit-task" ng-show="task.editting"> 
         <form ng-submit="ctrl.propose(task)"> 
          ... form stuff ... 
         </form> 
        </div> 
    </div> 
    

    Моя проблема в том, когда я запускаю мою страницу, я получаю сообщение об ошибке:

    Error: [$compile:multidir] http://errors.angularjs.org/1.2.26/$compile/multidir?p0=task&p1=task&p2=tem…3D%20true%22%20task%3D%22%22%20ng-repeat%3D%22task%20in%20ctrl.tasks%22%3E 
        at Error (native) 
    

    (чистая ссылка: Angular error generator)

    У меня уже была эта проблема раньше, и я просто pu t содержание шаблона в ngRepeat и больше не думает, но на этот раз я хотел бы, чтобы все было в порядке.

    Благодарим за ответы!

    ответ

    5

    Ваша проблема:

    <div class="task" ng-click="task.editting = true" task> 
    

    Поскольку это является частью шаблона, созданного из директивы задачи, которую вы пытаетесь добавить директиву задачи снова и снова.

    Изменить на:

    <div class="task" ng-click="task.editting = true"> 
    
    +0

    Большое спасибо! – JosselinTD

    Смежные вопросы