我的视图正在使用我的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的更多信息。