小编Her*_*key的帖子

“删除”运算符的操作数必须是可选的。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万
查看次数

通用方法和可选参数

是否有可能写出类似的结构?
我想以某种方式设置类型T的参数的默认值.

    private T GetNumericVal<T>(string sColName, T defVal = 0)
    {
        string sVal = GetStrVal(sColName);
        T nRes;
        if (!T.TryParse(sVal, out nRes))
            return defVal;

        return nRes;
    }
Run Code Online (Sandbox Code Playgroud)

另外,我发现以下链接: 通用类型转换FROM字符串
我认为,此代码必须工作

private T GetNumericVal<T>(string sColName, T defVal = default(T)) where T : IConvertible
{
    string sVal = GetStrVal(sColName);
    try
    {
        return (T)Convert.ChangeType(sVal, typeof(T));
    }
    catch (FormatException)
    {
        return defVal;
    }            
}
Run Code Online (Sandbox Code Playgroud)

c# generic-method optional-arguments

13
推荐指数
2
解决办法
4771
查看次数

如何在角度2中动态更改css类名称

我有两个CSS类名如下

.icon_heart{
     color: #bdbdbd;
}

.icon_heart_red{
    color:#a6b7d4;;
}
Run Code Online (Sandbox Code Playgroud)

我的HTML有一个心脏图标

<div class="icon_heart" *ngIf="showheartIcon">
    <ion-icon name="heart" (click)="setWishlistTrue(category.product_id);" class="heart"></ion-icon>
</div>
<div class="icon_heart_red" *ngIf="showheartIconRed">
    <ion-icon name="heart" (click)="setWishlistFalse(category.product_id);" class="heart"></ion-icon>
</div>
Run Code Online (Sandbox Code Playgroud)

这里我有两个div标签,心脏图标最初为灰色,单击时我会将其更改为蓝色.

这是我的ts文件代码:

  showheartIcon=true;
  showheartIconRed =false;

  setWishlistTrue(id){
    this.showheartIconRed = true;
    this.showheartIcon = false;
  }

  setWishlistFalse(id){
    this.showheartIconRed = false;
    this.showheartIcon = true;
  }
Run Code Online (Sandbox Code Playgroud)

我有两个不同颜色的图标.

而不是有两个心脏图标是否可以更改图标的类别?

我在JavaScript中看到我们可以改变它w3schools将类应用于div标签的简单方法,但我是TypeScript的新手.我怎样才能改变课程?

html css ionic2 angular

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

Angular show spinner,用于每个HTTP请求,代码更改次数更少

我正在研究现有的__CODE__应用程序.版本是__CODE__.

该应用程序从许多各种组件__CODE__调用__CODE__.

我想为每个__CODE__请求显示一个自定义微调器.由于这是一个现有的应用程序,因此有很多地方可以进行调用__CODE__.在每个地方更改代码不是一个可行的选择.

我想实现一个解决这个问题的抽象解决方案.

如有任何选择,请建议.

http angular

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

如何在 .NET 6 Program.cs 中创建记录器

我有一个 Data.Migrations 项目,它将运行任何实体框架迁移来更新数据库模型。最近我已将此项目更新到.NET 6,并Program.cs使用以下代码添加了一个记录器:

var serviceCollection = new ServiceCollection();
var serviceProvider = serviceCollection.BuildServiceProvider();
_logger = serviceProvider.GetService<ILogger<Program>>();
Run Code Online (Sandbox Code Playgroud)

然而,这会导致_logger == null.

如何将记录器添加到 Program.cs 中?

c# .net-6.0

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

如何在WCF服务中使用IDispatchMessageInspector?

我试图在WCF服务实现中使用IDispatchMessageInspector来访问自定义标头值.

就像是:

public class MyService : IMyService
{
    public List<string> GetNames()
    {
        var headerInspector = new CustomHeaderInspector();

        // Where do request & client channel come from?
        var values = headerInspector.AfterReceiveRequest(ref request, clientChannel, OperationContext.Current.InstanceContext);            
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经实现了自己的IDispatchMessageInspector类.

public class CustomHeaderInspector : IDispatchMessageInspector
{
    public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
    {
        var prop = (HttpRequestMessageProperty)request.Properties[HttpRequestMessageProperty.Name];
        var userName = prop.Headers["Username"];

        return userName;
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么通过

  • System.ServiceModel.Channels.消息

  • System.ServiceModel.IClientChannel

AfterReceiveRequest服务实现?

编辑:

很多像这样或者 …

.net c# wcf idispatchmessageinspector

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

rundeck是否支持作业依赖性?

我一直在寻找如何使用作业依赖性布局rundeck工作流的日子.我需要做的是3 jobs:job-1并且job-2计划并行运行,而job-3只会在两者完成后触发job-1,并且job-2.假设job-1并且job-2具有不同的执行时间.

我尝试使用作业状态条件来做到这一点,但似乎如果不满足条件将仅停止或失败.我的想法是暂停执行,直到所有父作业完成,然后恢复工作流程.

rundeck

12
推荐指数
1
解决办法
1520
查看次数

如何在Angular中使用HATEOAS REST API?

我正在开发一个Angular 4前端,用于由另一个团队构建的API.API遵循HATEOAS并为我提供每个响应的超媒体链接.

我知道API的形状,我想我可以简单地将URL硬编码到Angular Services中.然而,一位同事(他是一名后端开发人员)试图说服我,我应该充分利用超媒体,因为它意味着前端和后端之间的耦合较少(如果API发生变化,可能会导致破坏).

但是,我对如何使用Angular的内置Http服务实现简单的HATEOAS模式感到困惑.如何以不将所有服务连接在一起并使其难以测试的方式存储/共享超媒体/ URL信息?似乎没有任何例子.

尝试创建一个HATEOAS友好的HTTP客户端甚至是一个好主意,还是可能不值得麻烦?

javascript rest hateoas angular

12
推荐指数
1
解决办法
3303
查看次数

JavaScript 字符串相等性在 Chrome 中似乎偶尔会被破坏,可能与 Web Workers 有关?

我的应用程序中有一个功能(对于一小部分用户,但对于每天的少数人)会引发似乎不可能的错误。从函数引发的错误来看,'center' !== 'center'. 每次发生此错误都会在 Chrome 上发生,第一次发生是在 2023 年 10 月 16 日。用户遇到此错误一两次,然后似乎会自行解决。

这是该函数的简化版本。虽然去掉了很多代码,但是相关的控制流程几乎是一模一样的。

function createBaseGradient(gradient) {
    const start = gradient.start;
    
    // ...

    if (start === 'center') {
        // ...
        return '...'
    }

    // ...

    if (start === 'left') {
        // ...
    } else if (start === 'top') {
        // ...
    } else if (start === 'bottom') {
        // ...
    } else if (start === 'right') {
        // ...
    } else {
        internalError(
            `Illegal gradient start (${JSON.stringify(start)}, ${encodeURIComponent(
                start …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome

12
推荐指数
1
解决办法
389
查看次数

Angular - 跨多个模块使用组件

我在用什么

我想做什么

  • 我有一个我想在多个模块中重用的加载组件

我做了什么

  • 我创建了一个名为'loading-overlay'的新模块

  • 在这个模块中,我导出了叠加组件

  • 我将此模块添加到app.module

  • 将组件添加到多个模块时,我收到以下错误:

类型LoadingOverlayComponent是2个模块的声明的一部分:LoadingOverlayModule和ProjectsModule!请考虑将LoadingOverlayComponent移动到导入LoadingOverlayModule和ProjectsModule的更高模块.您还可以创建一个新的NgModule,它导出并包含LoadingOverlayComponent,然后在LoadingOverlayModule和ProjectsModule中导入该NgModule.

  • 我已经尝试从app.module中删除它并将其导入我需要的其他模块而没有太多运气.我必须遗漏一些明显的东西.

叠加模块

// Modules
import { NgModule } from '@angular/core';

// Components
import { LoadingOverlayComponent } from './loading-overlay.component';



@NgModule({
  declarations: [
    LoadingOverlayComponent,
  ],

  imports: [

  ],

  exports: [
    LoadingOverlayComponent
  ],

  providers: [ ],

})

export class LoadingOverlayModule { }
Run Code Online (Sandbox Code Playgroud)

应用模块

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

// Routing
import { AppRouting } from './routing/app-routing';

// Modules
import { …
Run Code Online (Sandbox Code Playgroud)

angular-module angular

11
推荐指数
3
解决办法
7140
查看次数