Mocking out NavParams in Ionic3 gives back Property Data is missing in type typeOf NavParams

旧城冷巷雨未停 提交于 2020-01-15 11:04:17

问题


export class NavParamsMock {

    static returnParam = null;
    public get(key): any {
        if (NavParamsMock.returnParam) {
            return NavParamsMock.returnParam
        }
        return 'default';
    }
    static setParams(value){
        NavParamsMock.returnParam = value;
    }
}

It's not working.


回答1:


As the error notes the data is missing from your class so it fails.

If you don't care and want to avoid these kind of errors then extend your class.

export class NavParamsMock extends NavParams

This will fill in the missing properties.

If you don't want to extend the full class you can just the data property as the error says

export class NavParamsMock {
    static returnParam = null;
    get data(){ return NavParamsMock.returnParam; }
    set data(params) { NavParamsMock.returnParam = params; } 
    public get(key): any {
        if (NavParamsMock.returnParam) {
            return NavParamsMock.returnParam
        }
        return 'default';
    }
    static setParams(value){
        NavParamsMock.returnParam = value;
    }
}


来源:https://stackoverflow.com/questions/44658048/mocking-out-navparams-in-ionic3-gives-back-property-data-is-missing-in-type-type

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!