【发布时间】:2018-07-23 13:56:40
【问题描述】:
我想创建一个可以注入不同控制器的服务,以使用名为Contact 的实体。
我有一个 .js 文件,其中配置了所有内容,我将服务导入到那里,如下所示:
import ContactService from './service/ContactService';
import ContactsController from './ContactsController';
//...
angular.module(name,[
//...
]).service('contactService', ContactService)
.controller('contactsController', ContactsController)
//...
在 ContactsController.js 中,我想使用这样的服务:
export default ($scope, contactService) => {
$scope.contacts = contactService.get();
}
然后在我的 ContactService.js 中我尝试这样做,但它不起作用
var Contact;
class ContactService {
constructor($resource) {
Contact = $resource('/contacts/:id');
}
get(id) {
return Contact.get(id);
}
get() {
return Contact.query();
}
//...
}
ContactService.$inject = ['$resource'];
export default ContactService;
我怎样才能很好地实现 ContactService.js 以便它使用 ES6 类和 $resource 工作?
【问题讨论】:
-
尝试将其写为
this.Contact = $resource(...);并使用return this.Contact;访问它 -
@AlekseySolovey 不工作......但也许我在错误的地方写了你的 sn-ps,idk
标签: javascript angularjs ecmascript-6