我正在尝试使用 AngularJS 制作一个规划应用程序。主要功能是创建任务。 我想把任务的来源放在一个指令中:
<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)
我之前已经遇到过这个问题,我只是把模板的内容放在 ngRepeat 中,不再想了,但这次我想以好的方式做事。
感谢您的回答!
最佳答案
你的问题是:
<div class="task" ng-click="task.editting = true" task>
由于这是从任务指令创建的模板的一部分,您正试图一遍又一遍地添加任务指令。
更改为:
<div class="task" ng-click="task.editting = true">
关于javascript - AngularJS 自定义指令和 ng Repeat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26315813/