2014-10-11 153 views
3

我正在尝试使用AngularJS制作一个规划应用程序。主要功能是创建一个任务。 我想提出的任务源的指令:AngularJS curstom指令和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 2014-10-12 10:59:07