小编mat*_*ias的帖子

角度和异步管道打字稿抱怨为空

我有以下容器组件

export class EventsComponent {
  data$: Observable<Data[]> = this.store.select(data);
  loading$: Observable<boolean> = this.store.select(loading);
}
Run Code Online (Sandbox Code Playgroud)

并将可观察量绑定| async到表示组件:

 <app-presentational 
   [rowData]="data$ | async" 
   [loading]="loading$ | async" 
   ...
Run Code Online (Sandbox Code Playgroud)
export class PresentComponent {
  @Input()
  rowData: Data[];

  @Input()
  loading: boolean;
}
Run Code Online (Sandbox Code Playgroud)

然而,TS 编译器总是抱怨异步管道可能返回 null。

更新,这是我得到的确切错误

Type 'boolean | null' is not assignable to type 'boolean'.
  Type 'null' is not assignable to type 'boolean'.ngtsc(2322)
Run Code Online (Sandbox Code Playgroud)

那么我真的必须改变我的一切吗@Input()

export class PresentComponent {
  @Input()
  rowData: Data[] | null;

  @Input()
  loading: boolean | null;
}
Run Code Online (Sandbox Code Playgroud)

ngrx angular

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

ngrx/component-store 状态改变时触发效果

我有一个有角度的应用程序@ngrx/component-store

当用户从设备列表中选择一个条目时,我将其存储到component-store

  component.ts:
  onDeviceClicked(device: DeviceTO) {
    this.inspectionStore.setDeviceSelected(device);
  }

  inspectionStore.ts
  readonly setDeviceSelected = (data: DeviceTO) =>  {this.patchState({selectedDevice: data})};
Run Code Online (Sandbox Code Playgroud)

现在,用户已经选择了设备,应该会触发副作用。但是,我不确定当部分状态发生变化时如何触发副作用。

更新状态时需要这样做吗?

  readonly setDeviceSelected = (data: DeviceTO) =>  {
    this.patchState({selectedDevice: data});
    this.tiggerMySideEffect(data);
  };
Run Code Online (Sandbox Code Playgroud)

或者有其他方法可以告诉 sideEffect 监听变化吗?

ngrx-store component-store

8
推荐指数
1
解决办法
4379
查看次数

角度依赖使用 fesm2015 而不是 fesm2020

在我的 Angular 13 项目中,我有一个 npm 依赖项,其中包含fesm2020fesm2015模块:请参阅package.json

  "module": "fesm2015/ds-components.mjs",
  "es2020": "fesm2020/ds-components.mjs",
  "esm2020": "esm2020/ds-components.mjs",
  "fesm2020": "fesm2020/ds-components.mjs",
  "fesm2015": "fesm2015/ds-components.mjs",
Run Code Online (Sandbox Code Playgroud)

当我服务角度项目时,fesm2020使用该模块。经过大量调试后,我发现该fesm2020模块有奇怪的行为,但该fesm2015模块可以工作。我如何告诉 Angular 使用该fesm2015模块?

typescript angular

7
推荐指数
1
解决办法
4949
查看次数

将键盘键翻译为键盘组合

有没有办法实现这个目标?

我有一个角色,说"/",我想得到键盘组合.

对于德语布局,"/"将为Shift+ 7.

java keyboard

6
推荐指数
1
解决办法
115
查看次数

Eclipse Breakpoint System.out

通常我想在观察运行时在我的Java应用程序中设置断点.

但有时我只想知道是否调用了方法.因此断点对我没有帮助,我插入了一个"systrace"语句 System.out.println("method signature");

我认为这将是一个很好的功能如果我可以设置一个断点,当达到断点时只打印出systrace消息并继续运行.

你知道这是否可行?

java eclipse

6
推荐指数
1
解决办法
2020
查看次数

Typescript 实现具有相同键但不同类型的接口

我有一个界面

export interface Foo {
 a: string;
 b: string;
}
Run Code Online (Sandbox Code Playgroud)

我现在想要另一个类,它实现接口的所有键,但可以有另一种类型:

  export class Bar implements keysof(Foo) {
    a: SomeNewType;
    b: SomeNewType2;
  }
Run Code Online (Sandbox Code Playgroud)

这在打字稿中可能吗?背景:我希望Bar班级的按键与Foo

typescript

6
推荐指数
1
解决办法
1964
查看次数

在分配字节数组之前检查是否有足够的内存

我需要将文件加载到内存中.在我这样做之前,我想确保我的VM中有足够的内存.如果不是,我想显示错误消息.我想避免这个OutOfMemory例外.

做法:

  1. 获取我的文件的文件大小
  2. 使用 Runtime.getRuntime().freeMemory()
  3. 检查它是否合适

这会有用还是你有其他建议吗?

java

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

Java如果优化

我有以下声明:

isEnabled = false;
if(foo(arg) && isEnabled) {
 ....
}

public boolean foo(arg) {
  some really long running code
}
Run Code Online (Sandbox Code Playgroud)

在if中交换语句是否有意义?

if(isEnabled && foo(arg)) { ... }
Run Code Online (Sandbox Code Playgroud)

或者编译器是否为我优化?

java

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

android LVL合理吗?

我即将发布我的第一个Android应用程序的firsion.

我正在考虑为我的应用程序使用Android的许可服务(LVL).但现在我不确定不使用任何许可服务是否更好.

  • a)LVL无论如何都会被破解
  • b)LVL导致我的应用程序有些延迟

你们有什么感想 ?!您是否有使用/不使用LVL的经验?我还有其他选择吗?

谢谢

android android-lvl

3
推荐指数
1
解决办法
1297
查看次数

计算grafana中两个查询之间的差异

我有一个 grafana 仪表板,其中有 2 个流入查询,它们计算单个值 (AB)

我现在需要计算它们之间的差异A - B。这在 influx 或 grafana 中是否有可能?

请注意,这两个值来自同一数据库但来自不同的测量

格拉法纳仪表板

influxdb grafana

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