相关疑难解决方法(0)

Node.js url.parse结果返回字符串

我正在尝试做一些简单的分页.为此,我正在尝试解析当前的URL,然后生成指向同一查询的链接,但是使用递增和递减的page参数.

我已尝试执行以下操作,但它生成相同的链接,没有新page参数.

var parts = url.parse(req.url, true);
parts.query['page'] = 25;
console.log("Link: ", url.format(parts));
Run Code Online (Sandbox Code Playgroud)

URL模块文档似乎表明这format是我需要的,但我做错了.

我知道我可以手动迭代并构建字符串,但我希望有一个现有的方法.

url node.js

17
推荐指数
1
解决办法
4万
查看次数

如何从 Typescript 中的对象中删除属性,而没有“删除”运算符的操作数必须是可选错误?

我尝试在此处阅读如何从对象中删除属性:How do I remove a property from a JavaScript object?

它应该使用delete,我尝试这样

const eventData = {...myEvent}; // myEvent is an instance of my `Event` class
delete eventData.coordinate; // I have error in here
Run Code Online (Sandbox Code Playgroud)

但我有这样的错误

在此输入图像描述

“删除”运算符的操作数必须是可选的。ts(2790)

然后我读到:Typescript 无法推断删除运算符和扩展运算符?

似乎可以通过使用更改我的 tsconfig.json 文件来消除该错误

{
  "compilerOptions": {
    ...
     "strictNullChecks": false, 
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

但如果我实现这个,我将不再进行空检查

那么如何从 Typescript 中的对象中删除属性而不使用“删除”运算符的操作数必须是可选错误?

typescript

15
推荐指数
1
解决办法
2万
查看次数

在TypeScript中使单个属性可选

在TypeScript中,2.2 ......

假设我有一个Person类型:

interface Person {
  name: string;
  hometown: string;
  nickname: string;
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个返回Person的函数,但不需要昵称:

function makePerson(input: ???): Person {
  return {...input, nickname: input.nickname || input.name};
}
Run Code Online (Sandbox Code Playgroud)

应该是什么类型的input?我正在寻找一种动态方式来指定一个类型,Person除了nickname可选(nickname?: string | undefined)之外.到目前为止,我发现的最接近的是:

type MakePersonInput = Partial<Person> & {
  name: string;
  hometown: string;
}
Run Code Online (Sandbox Code Playgroud)

但这并不是我想要的,因为我必须指定所需的所有类型而不是可选的类型.

typescript

14
推荐指数
6
解决办法
8109
查看次数

“删除”运算符的操作数必须是可选的。ts(2790) 使用 Typescript 创建表单时

我不明白为什么会发生这个错误。我正在创建一个表单来提交用户电子邮件

export const register = createAsyncThunk<
  User,
  RegisterProps,
  {
    rejectValue: ValidationErrors;
  }
>("auth/registerStatus", async (credentials, { rejectWithValue }) => {
  try {
    // Don't POST blank email
    if (!credentials["email"]) {
      delete credentials["email"]; //editor marking in this line there is error.
    }
    const response = await api.post(API_REGISTER, credentials);
    return response.data;
  } catch (err) {
    const error: AxiosError<ValidationErrors> = err;
    if (!error.response) {
      throw err;
    }
    return rejectWithValue(error.response.data);
  }
});
Run Code Online (Sandbox Code Playgroud)

但我面临这个错误:

“删除”运算符的操作数必须是可选的。ts(2790)

我猜有一些逻辑错误,但我需要你的帮助来解决这个问题。

typescript reactjs

14
推荐指数
2
解决办法
2万
查看次数

“删除”运算符的操作数必须是可选的/对象在角度 12 中可能存在“未定义”错误

所以我正在以角度创建警报服务,但无法克服此错误。我知道可以通过在 ts.config 文件中禁用严格的空检查来抑制此错误。但不想采取这种方法尝试过操作符使其成为可选,但它仍然不起作用,我不确定我是否将操作符放在正确的位置,我是角度新手,任何指导都会非常有帮助,谢谢

 alerts: Alert[] = [];

 this.alerts!.find(x => x === alert).fade = true;

Run Code Online (Sandbox Code Playgroud)

警报模型.ts

export class Alert {
   public id!: string;
   public type!: AlertType;
   public message!: string;
   public autoClose!: boolean;
   public keepAfterRouteChange!: boolean;
   public fade!: boolean;

    constructor(init?:Partial<Alert>) {
        Object.assign(this, init);
    }
}

export enum AlertType {
    Success,
    Error,
    Info,
    Warning
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

typescript angular

2
推荐指数
1
解决办法
8378
查看次数

标签 统计

typescript ×4

angular ×1

node.js ×1

reactjs ×1

url ×1