2014-10-11 189 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