打字稿 getter 和 setter 错误 [英] Typescript getter and setter error

查看:34
本文介绍了打字稿 getter 和 setter 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好的,这是我第一天使用 typescript 做一些 Angular 2,我正在尝试制作一个简单的 getter 和 setter 服务.

Ok it's my first day doing some Angular 2 using typescript and I am try to make a simple getter and setter service.

import {Injectable} from "angular2/core";

@Injectable()
export class TodoService {

  private _todos:Array = [];

  get todos():Array {
    return this._todos;
  }

  set todos(value:Array) {
    this._todos = value;
  }

}

谁能解释一下为什么 Typescript 编译器会抛出以下错误,因为我认为应该没问题.

Can anyone explain why the Typescript compiler is throwing the following error as I think it should be ok.

ERROR in [default] /Users/testguy/WebstormProjects/angular2-seed/src/app/services/todo-service.ts:6:17 
Generic type 'Array<T>' requires 1 type argument(s).

ERROR in [default] /Users/testguy/WebstormProjects/angular2-seed/src/app/services/todo-service.ts:8:14 
Generic type 'Array<T>' requires 1 type argument(s).

ERROR in [default] /Users/testguy/WebstormProjects/angular2-seed/src/app/services/todo-service.ts:12:18 
Generic type 'Array<T>' requires 1 type argument(s).

推荐答案

你确实需要在定义它时提到你想要哪种 ArrayMyClass 可以是string/number(数据类型)

You should really need to mention which kind of Array you want while defining it, MyClass can be string/number(datatype)

代码

export class TodoService {

  private _todos:Array<MyClass> = [];

  get todos():Array<MyClass> {
    return this._todos;
  }

  set todos(value:Array<MyClass>) {
    this._todos = value;
  }

}

这篇关于打字稿 getter 和 setter 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆