【问题标题】:AngularJS curstom directive and ngRepeatAngularJS 自定义指令和 ng 重复
【发布时间】:2014-10-11 22:43:46
【问题描述】:

我正在尝试使用 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中,不再想了,但是这次我想把事情做好。

感谢您的回答!

【问题讨论】:

    标签: javascript angularjs angularjs-ng-repeat


    【解决方案1】:

    你的问题是:

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

    由于这是从任务指令创建的模板的一部分,因此您正试图一遍又一遍地添加任务指令。

    改为:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-23
      • 2019-04-16
      相关资源
      最近更新 更多