【问题标题】:typescript error: 'RRule' only refers to a type, but is being used as a namespace here打字稿错误:'RRule' 仅指一种类型,但在此处用作命名空间
【发布时间】:2019-02-02 16:59:22
【问题描述】:

我正在尝试为我的角度日历实现“rrule”。它向我显示了一个错误:[ts] 'RRule' 仅指一种类型,但在这里被用作命名空间。

import RRule from 'rrule';

interface RecurringEvent {
  title: string;
  color: any;
  rrule?: {
    freq: RRule.Frequency;
    bymonth?: number;
    bymonthday?: number;
    byweekday?: RRule.Weekday[];
  };
}

【问题讨论】:

  • 如果您将导入替换为 import * as RRule from 'rrule' 是否有效?
  • 没有。它不工作
  • 现在可以了,通过改变: import RRule from 'rrule' 到 import RRule, { Frequency, Weekday } from 'rrule';并从 freq 和 byweekday 中删除 RRule
  • @SaiVishnu 您需要使用 ['Frequency'] 语法和类型来访问这样的成员。

标签: javascript angular angular5


【解决方案1】:

这是因为:

    freq: RRule.Frequency;
byweekday?: RRule.Weekday[];

您正在从 RRule 访问元素,但您没有此类的实例。在这里,我假设您想获取这些元素的类型。您可以导航到 RRule 的定义并获取这些类型,然后您还必须添加它们的导入。

【讨论】:

    猜你喜欢
    • 2021-01-07
    • 2017-08-24
    • 1970-01-01
    • 2020-04-15
    • 2018-09-26
    • 2018-08-07
    • 2017-12-03
    • 2020-04-28
    • 2021-08-23
    相关资源
    最近更新 更多