Momentjs,类型“ {}”上不存在属性“ toISOString”

时间:2019-07-17 14:07:46

标签: angular typescript momentjs

我有以下代码可以使用到现在,但是现在value.toISOString()引发了编译器错误。我已经从Angular 7-> 8升级到了TypeScript 3.4.5。 知道是什么原因造成的吗?

    import * as moment from 'moment';    
    ...

    private getQueryStringParameters(parameters: any) {
        if (!parameters) {
            return '';
        }

        let queryString = '?';

        // tslint:disable-next-line:forin
        for (const key in parameters) {
            const value = parameters[key];

            if (value !== undefined) {
                if (value instanceof Array) {
                    value.forEach(
                        item =>
                            (queryString +=
                                key + '=' + encodeURIComponent('' + item) + '&')
                    );
                } else if (value instanceof moment) {
                    queryString +=
                        key +
                        '=' +
                        encodeURIComponent('' + value.toISOString()) +
                        '&';
                } else {
                    queryString +=
                        key + '=' + encodeURIComponent('' + value) + '&';
                }
            }
        }

感谢您的任何输入!

1 个答案:

答案 0 :(得分:1)

代替:

value instanceof moment

尝试使用 isMoment 方法:

moment.isMoment(value)

请参见docsstackblitz演示。