【发布时间】:2015-12-22 09:07:50
【问题描述】:
我正在尝试在 ecmascript 6 中定义一个类。
代码如下:
class Machine {
constructor (){
this._context = null;
}
get context (){
return this._context;
}
set context (context){
this._context = context;
}
}
但是对于 Webstorm 中的设置器,我总是遇到同样的错误: “设置访问器方法的类型与获取访问器类型不兼容”
我不明白为什么会出现此错误。我完全按照这里的解释做了:http://es6-features.org/#GetterSetter
编辑:似乎问题只是因为我在 Angular 工厂中定义了我的类。
所以我的问题是如何在 Angular 工厂中正确定义一个类?
也许我不应该那样做。
编辑 2:这是我的角度工厂:
angular.module('frontEndApp')
.factory('Machine', function () {
class Machine {
constructor (){
this._context = null;
}
get context (){
return this._context;
}
set context (context){
this._context = context;
}
}
return Machine;
}
【问题讨论】:
-
什么版本的 WebStorm? WebStorm 11 对我来说很好。
-
这里版本相同,没有错误。确保您的项目是set up to use ECMAScript 6 syntax。
-
我发现如果我的类是在角度服务中定义的,我只会收到错误消息。不知道如何在角度服务中正确定义类
-
问题在于您的 webstorm 设置。它与角度或JS无关。您的类声明很好,并且可以将其作为服务的实例返回。您的 webstorm 设置中的某些内容不理解您的代码,这使您对它作为工具的信心为零,因为您的代码很好。
-
@GuillaumeRahbari:您的编辑完全改变了问题(并且您可能应该修复语法错误)。一旦有答案就完全改变问题通常是不受欢迎的。
标签: javascript angularjs class ecmascript-6 webstorm