我正在尝试将角度js服务用作ES6类。但是得到错误。
如果没有'new',则无法调用类构造函数BaseService。
这是服务代码。
"use babel";
(function() {
'use strict';
class BaseService {
constructor() {
this.data = {
items: []
};
}
loadData() {
this.data.items = ['one', 'two', 'three'];
}
}
angular.module('app').service('BaseService', BaseService);
}());
这是我正在尝试的链接。 https://embed.plnkr.co/D9MEJZe4pF6oztf7DP31/
答案 0 :(得分:0)
// your Base Service class file
export default class BaseService {
constructor() {
this.data = {
items: []
};
}
}
// your Angular service file
import BaseService from './base.service.js'; // relative path to BaseService file
export default class MyService extends BaseService {
constructor() {
super();
}
}
// module definition file
import MyService from './my.service.js'; // relative path to MyService file
module.exports = angular.module('myMod',[])
.service('MyService', MyService);
答案 1 :(得分:0)
这是您正在使用的AngularJS版本(1.5.0-rc.0)中的问题。它无法正确构造一个类。升级到1.5.0或更高版本,错误将消失。