【问题标题】:Function return type in interface接口中的函数返回类型
【发布时间】:2018-07-12 04:28:30
【问题描述】:

我是 Angular 2 / Typescript 的新手。我正在围绕 Typescript 中的接口工作。我明白了,通过使用它,我们可以在编译或开发时检查我们的类型。

我创建了一个接口 ts 文件,如下所示,其中包含 2 个属性和 1 个函数:

export interface EmpEnities{
    empname : string;
    deptname :string;
    validation();
}

我的组件:

import { Component } from '@angular/core';
import { EmpEnities } from './IEmloyee'

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})
export class AppComponent {
    title = 'app';
    Employees : EmpEnities[] = [
                {empname:'sreekanth',deptname:'xyz',validation(){return 'a'}},
                {empname:'sreekanth',deptname:'xyz',validation(){return false}},
                {empname:'sreekanth',deptname:'xyz',validation(){return true}}
                ]
}

如果没有使用三个成员(2 个属性 + 1 个函数)中的任何一个,我就会完全得到编译时错误。

现在我的标准是:如果我的 Validation() 没有返回 bool 值,我如何确保出错。

如果您在对象数组中观察,第一个 validate() 正在返回字符串,其余的正在返回布尔值。

我可以指定接口中声明的函数的返回类型吗?

【问题讨论】:

  • 因为这是打字稿,validation(): boolean; 应该可以解决问题。
  • @Caramiriel 是的.. 谢谢。

标签: angular angular2-forms angular2-directives


【解决方案1】:

试试这个

export interface EmpEnities{
    empname : string;
    deptname :string;
    validation: () => boolean;
}

export class AppComponent {
    title = 'app';
    Employees : EmpEnities[] = [
                {empname:'sreekanth',deptname:'xyz',validation: () => {return 'a' === 'a'}},
                {empname:'sreekanth',deptname:'xyz',validation: () => {return false}},
                {empname:'sreekanth',deptname:'xyz',validation: () => true}
                ]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    相关资源
    最近更新 更多