javascript - 将 Angular 服务与 es6 模块一起使用是否有意义?

标签 javascript angularjs angular-services

当我们使用 ES6 模块时,使用 Angular-services 有意义吗?例如,我们的代码中需要一个单例模块(userService),我们可以这样做:

var app = angular.module('app', []);

app.service('userService', function(){
    this.users = ['John', 'James', 'Jake'];
});

app.controller('FooController', ['$scope', 'userService', function($scope, userService){

    console.log(userService);

}]);

但是我们可以在单独的文件中定义服务:

/* ./user-service.js */
export default users = ['John', 'James', 'Jake'];

,然后编写如下代码:

var app = angular.module('app', []);

var userService = require('./user-service')    

app.controller('FooController', ['$scope', function($scope){

    console.log(userService);

}]);

结果将与使用的服务完全相同。那么当我们可以使用模块时为什么还要使用 Angular 服务呢?

最佳答案

是的!这很有道理。

服务在您的应用程序中承担特定的职责,在数据存储和 View 之间移动数据。

模块允许您组织代码和具有不同职责的单独部分。

通过将每个服务放入一个模块中,您可以更轻松地浏览和测试代码。很容易找到实现职责的所有代码。

关于javascript - 将 Angular 服务与 es6 模块一起使用是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34747737/

相关文章:

javascript - AngularJS - 间隔不会被刷新

angularjs - XMLHttpRequest成功时,为什么跨域angularjs $http.post请求失败?

Angular 5 - 将服务限制为模块

javascript - Angularjs 资源提供者返回带有数据的 $promise

javascript - 在 AngularJS 中的 Controller 之间共享数据

javascript - 使用 StreamSaver.js 流式传输大型 blob 文件

javascript - d3.js,将转换应用于数据?

javascript - 在放大的弹出窗口中显示动态内容

javascript - wavesurfer 实时获取耗时

javascript - 我可以在需要支持 IE 的遗留项目中使用 Vue + Vuetify 吗?