我有一个 angularjs 应用程序,它有几个带有多个 View 的 Controller 。当我开始编写应用程序时,很少有方法(类似的方法)被用在多个地方,最初我认为可以将这些方法放在需要的地方(两个或三个 Controller )。但随着我的应用程序的增长,我开始注意到代码冗余问题,因为更多地方需要该方法。 肯定是我缺乏经验导致了这个问题。
现在我决定从我的应用程序中删除这个冗余代码。我找到了以下选项:
服务方式:删除多余的代码并将其放入新的服务中,并将该服务包含在我需要该功能的所有地方。
外部JS:将多余的代码放在外部js文件中,只调用需要的方法即可。
保留代码不变。
但在这里我想提一下,我所说的冗余代码耦合不是很紧密,可以在任何地方添加和删除,只需很少的努力。
现在我想知道的是,从以上选项中,我应该选择哪一个? 或者是否有更好的选项可以解决这个问题(可能由 angularJS 本身提供)。
编辑代码的基本示例:正如我所说
$scope.showSomething = function (show, ele) {
//show or hide the ele (element) based on value of show
}
最佳答案
您正在使用 Angular,所以您肯定希望根据 MVC 构建您的应用程序。如果您的代码像任何东西一样放在 js 文件中的任何位置,您的应用程序将遵循哪种 MVC 模式。我建议将您的代码放入服务中。这就是减少冗余的 Angular 方法。您还可以选择将函数设置为 $rootscope
here
关于javascript - 服务 vs Controller vs 外部 js 将常用方法放入 AngularJS 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27354522/