无法从Angular 4中的模型类访问方法

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

我试图使用模型类中的方法,但它的抛出错误就像

错误TypeError:act.sayHi不是函数

这是我的代码

模型类myModelClass.ts

    export interface IMymodel {
        name: string;
        address: string;
        age: number;
    }

    export class Mymodel implements IMymodel {
        name: string;
        address: string;
        age: number 

        constructor() {}

        sayHi(name): string {
            console.log('Hiii' + name);
            return 'Hiii'+name;
        }

    }

组件MyComponent.ts

import { IMymodel, Mymodel } from '../model/myModelClass.ts';

@Component({
    selector: 'my-component',
    templateUrl: 'myComponent.html'
})
export class MyComponent {

    ...

    prepareData(data: Array<IMymodel>): Array<IMymodel> {

         data.map((act: Mymodel) => {
             act.sayHi(act.name);
         });

         return data;
    } 

}
angular typescript ionic3
1个回答
3
投票

当您通过接口类型访问对象时,您还需要将sayHi方法签名放入接口,并且该类型缺少名为sayHi的方法。

export interface IMymodel {
    name: string;
    address: string;
    age: number;
    sayHi(name): string
}

和方法调用

prepareData(data: Array<IMymodel>): Array<IMymodel> {

     data.map((act: IMymodel) => {
         act.sayHi(act.name);
     });

     return data;
} 
© www.soinside.com 2019 - 2024. All rights reserved.