我的视图正在使用我的ProjectController

<tbody ng-controller="ProjectController">
    <tr ng-repeat="task in tasks">
        <td class="col-md-3">{{ task.id}}</td>
        <td class="col-md-2">{{ task.taskType.name }}</td>
        <td class="col-md-2">{{ task.description }}</td>
        <td><div ng-bind-html="callMethodFromTaskController(task)"></div></td>
        <td><a href="#/tasks/{{ task.id }}" class="btn btn-xs btn-primary">Abrir</a></td>
    </tr>
</tbody>


如何调用callMethodFromTaskController(位于TaskController内部的函数来设置信息样式)?

最佳答案

嗨,有几种方法可以做到这一点。

最简单的方法可能是将callMethodFromTaskController()的输出放在task.methodOutput上,然后将methodOutput放在一个div中:<div ng-bind-html="task.methodOutput"></div>

在运行时调用此函数可能是有原因的。不要将功能放在控制器上,而应将功能放在task上。这已经在范围内:

<div ng-bind-html="task.callMethodFromTaskController()"></div>

从长远来看,我认为您会发现它与Angular思维更加兼容。

如果那不起作用。然后,您可能正在进行特殊控制。在这种情况下,请考虑使用“指令”(比听起来简单且有趣)。

在这种情况下,您需要将任务传递给指令,如下所示:

<tbody ng-controller="ProjectController" ng-repeat="task in tasks">
   <taskDirective task="task">
</tbody>


您可以了解有关指令here的更多信息。

09-11 19:03
查看更多