Angularjs 避免从多个作用域访问的方法(链接操作)的代码重复

Angularjs 避免从多个作用域访问的方法(链接操作)的代码重复,angularjs,Angularjs,假设我有一个记录索引页,如下所示: <tr ng-repeat="record in records"> <td>{{ record.name }}</td> <td> <a href="" ng-click="showRecord(record);">View</a> <a href="" ng-click="deleteRecord(record);">Dele

假设我有一个记录索引页,如下所示:

<tr ng-repeat="record in records">
    <td>{{ record.name }}</td>
    <td>
        <a href="" ng-click="showRecord(record);">View</a>
        <a href="" ng-click="deleteRecord(record);">Delete</a>
    </td>
</tr>
app.controller('RecordIndexCtrl', function($scope, RecordResource) {
   $scope.records = RecordResource.query();

   $scope.deleteRecord = function(record) {
       // Code to delete record, set flash, change route etc
   }
});

到目前为止,这很好。但是如果我想在查看页面上包含一个删除链接怎么办?或者我的应用程序中该控制器范围之外的任何其他地方?

通常,将在不同控制器之间共享的任何代码都应放入注入控制器的服务中。这就是你要问的吗?我想我正在努力解决的是RoR问题,例如,我想要删除记录链接的任何地方,我只需要放置链接。在Angular中,我必须放置链接,然后确保当前作用域具有用于链接的方法,因此,如果我想将其放置在索引列表中,以及显示页面上的侧栏中,我有两个控制器,其方法负责删除资源。在那之后,他们可能会做不同的事情,所以我想如果我把它包装成一个服务来解决我的问题。