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中,我必须放置链接,然后确保当前作用域具有用于链接的方法,因此,如果我想将其放置在索引列表中,以及显示页面上的侧栏中,我有两个控制器,其方法负责删除资源。在那之后,他们可能会做不同的事情,所以我想如果我把它包装成一个服务来解决我的问题。