接口中的函数返回类型

问题描述 投票:0回答:1

我是Angular 2 / Typescript的新手。我正在解决Typescript中的接口。我的意思是,通过使用此方法,我们可以在编译或开发时本身检查类型。

我如下创建了一个具有2个属性和1个函数的Interface ts文件:

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()没有返回布尔值,如何确保出错?

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

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

angular angular2-forms angular2-directives
1个回答
0
投票

尝试一下

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}
                ]
}
© www.soinside.com 2019 - 2024. All rights reserved.