小编awe*_*pro的帖子

如何在 Angular 中将 patchValue 与 FormArray 一起使用?

我有一个 FormGroup ,其中有一个这样的元素。

books: this.fb.array([this.buildBookFormGroup()])
Run Code Online (Sandbox Code Playgroud)

fb 是 FormBuilder。buildBookFormGroup() 函数返回一个 FromGroup,以便我可以从同一表单添加/删除多本书。

buildBookFormGroup(): FormGroup {
    return this.fb.group({
      author: new FormControl(''),
      price: new FormControl(0),
    });
  }
Run Code Online (Sandbox Code Playgroud)

我有获取表单控件、在“书籍”控件中添加和删除表单组的功能。

现在,我已经使用这种形式添加了多本书并保存它们。我想创建一个编辑页面,在其中获取现有数据并填充表单。为此,我使用“patchValue”。但是,patchValue 不适用于 FormArray。看了很多问题和答案,我更加困惑了。这是我修补的方式。

if (this.bookshop.books.length > 0) {
      let booksFormGroupArray: FormGroup[] = [];
      this.bookshop.books.forEach((book, index) => {
        booksFormGroupArray.push(this.buildBookFormGroup());
        Object.keys(booksFormGroupArray[index].controls).forEach(key => {
          booksFormGroupArray[index].patchValue({
            [key]: book[key]
          })
        })
      });
      this.bookForm.patchValue({
        books: this.fb.array(booksFormGroupArray)
      });
    }
Run Code Online (Sandbox Code Playgroud)

只有第一本书对象被插入到表单的“书籍”中。有什么解决方法吗?

angular angular-reactive-forms

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

如何列出 JAR 中的文件?

我有一个使用 JAR 的 Java 应用程序。JAR 有一些资源文件,它从它自己的类中访问这些文件。

在 jar 中,它列出了存在于目标/类文件夹中的资源文件:

ClassLoader loader = PolicyHelper.class.getClassLoader();
InputStream in = loader.getResourceAsStream("./");
BufferedReader rdr = new BufferedReader(new InputStreamReader(in));
String line;

try {
    while ((line = rdr.readLine()) != null) {
        System.out.println("file: " + line);
    }
    rdr.close();
} catch(Exception e) {}
Run Code Online (Sandbox Code Playgroud)

但是,当我将此 JAR 作为 Maven 依赖项包含在另一个 Java 项目中时,它会列出属于新项目的文件 - 而不是 jar。

这个问题有方法解决吗?

java jar meta-inf

5
推荐指数
0
解决办法
86
查看次数

在 Mongo 中实现大量记录排序的最佳方法?

我正在这里创建一个应用程序,用户将能够发布和喜欢/不喜欢。在后端,我使用 Node 和 Mongoose。现在,假设我有大约 50 万个帖子(或者可能是数百万个帖子,只是为了理解)。那么,如何获取热门帖子呢?排序会需要大量的时间,对吗?做这个的最好方式是什么?

让我进一步解释一下。假设用户在类别“A”下发布了帖子。现在,为了获取该类别中的热门帖子,我必须首先找到该类别下列出的帖子。然后我需要排序。这需要很长时间。

您对此有何建议?关于 Mongo 是否适合这个用例,有什么建议吗?

我有两件事要处理。

  • 必须在合理的时间内获取结果。
  • 数据库必须容纳大量数据。

我还研究了 Cassandra 和 Elasticsearch。对于给定的上下文,您认为这些会提供更好的解决方案吗?

database mongodb node.js elasticsearch

5
推荐指数
1
解决办法
446
查看次数

如何更改 Angular Material 步进器中的状态图标?

我正在使用 Angular Material 步进器。使用 STEPPER_GLOBAL_OPTIONS,我可以像这样更改步骤的状态:

  <mat-step [stepControl]="secondFormGroup" optional state="phone">
  </mat-step>
Run Code Online (Sandbox Code Playgroud)

但是,如何访问这些图标的列表?或者,有没有办法使用我自己的?

material-design angular-material angular angular-material-stepper

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

节点导出器中的可用字节与可用字节

我在 Ubuntu 上使用节点导出器。我想计算已用/可用磁盘空间百分比。对于总磁盘空间,我采用“node_filesystem_size_bytes”的值。但是,对于可用空间,我应该选择其中哪一个 - “node_filesystem_avail_bytes”或“node_filesystem_free_bytes”?

prometheus prometheus-node-exporter

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

在 Angular 指令中使用 CSS 悬停属性?

这是指令,默认的。

import { Directive, Input, Renderer2, ElementRef } from '@angular/core';

@Directive({
  selector: '[newBox]'
})
export class BoxDirective {

  @Input() backgroundColor = '#fff';
  constructor(private el: ElementRef, private renderer: Renderer2) {}

  ngOnInit(): void {
    this.renderer.setStyle(this.el.nativeElement, 'background-color', this.backgroundColor);
  }

}
Run Code Online (Sandbox Code Playgroud)

现在,在悬停时,我希望改变背景颜色。我如何在指令中做到这一点?

css angular-directive angular2-directives angular

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

如何解决Apache Ignite中的CORS?

我有一个在基本Java应用程序中运行的Apache Ignite服务器。Ignite REST api在某个端口上公开。当我从浏览器中点击它时,它正在返回所需的响应。但是,从Angular应用程序中,我收到了CORS错误。

有什么解决办法吗?请注意,此应用程序运行Ignite REST api(提供CORS的API)。如何在Ignite REST API中允许跨域?

java cors ignite

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