在组件中使用窗口变量时打字稿出错

时间:2021-02-23 00:40:44

标签: typescript spartacus-storefront

在我的角度组件中,我必须访问在窗口范围内定义的变量。为此,我定义如下。

output_df = pd.DataFrame(
    {
        "case_id": [1, 2, 3, 4, 5],
        "output_date": ["2021-01-20", "2021-02-21", "2020-02-08", "2020-01-07", "2020-09-05"],
        "output_carId": ["001", "001", "003", "001", "002"],
        "output_result": ["FAIL", "SUCCESS", "FAIL", "FAIL", "SUCCESS"],
    },
    columns=["case_id", "output_date", "output_carId", "output_result"]
)

input_df = pd.DataFrame(
    {
        "case_id": [1, 2, 3, 4, 5],
        "input_date": ["2021-01-20", "2021-02-21", "2020-02-08", "2020-01-07", "2020-09-05"],
        "input_carId": ["001", "001", "003", "001", "002"],
    },
    columns=["case_id", "input_date", "input_carId"]
)

def func(x, old_input):
    mask = x['output_result'] == 'FAIL'
    count = mask.sum()
    if count == 0:
        return old_input
    indexes = x.loc[mask]
    while True:
        arr = np.arange(1, count + 1) * 7
        np.random.shuffle(arr)
        td = pd.to_timedelta(arr, unit='d')
        delta_date = pd.to_datetime(old_input.loc[indexes.index, 'input_date']) + td
        delta_date = pd.to_datetime(delta_date).dt.strftime("%Y-%m-%d")
        old_input.loc[indexes.index, 'input_date'] = delta_date
        new_dates = delta_date.unique()
        old_dates = old_input['input_date'].unique()
        if np.any(np.in1d(new_dates, old_dates)):
            break
    return old_input

group_by = output_df.groupby('output_carId', group_keys=False)
input_len = input_df.__len__()
group_len = group_by.groups.__len__()
apply_input = group_by.apply(lambda x: func(x, input_df))
new_input = apply_input[input_len * (group_len - 1):input_len * group_len]
print(new_input)

添加这个后,打字稿抛出编译错误

<块引用>

错误 TS2339:“窗口”类型上不存在属性“KAMPYLE_ONSITE_SDK”。

我知道打字稿找不到在任何地方定义的这个变量,但谁能告诉我如何将在窗口范围中定义的变量嵌入到角度组件中?

谢谢, 苏雷什

0 个答案:

没有答案