小编In0*_*enT的帖子

ngModel 在与 formControlName 相同的表单字段上

我曾经有一个没有任何验证的简单表单,其中的 HTML 大致如下所示:

<mat-form-field>
        <input matInput
               type="text"
               placeholder="TaskName"
               [(ngModel)]="todoListService.toDoData.taskName"
               formControlName="taskName"
               required
               required>
               [(ngModel)]="todoListService.toDoData.taskName"
        >
    </mat-form-field>
Run Code Online (Sandbox Code Playgroud)

然后我将我的表单移动到响应式表单并收到警告,我不能在与 formControlname 相同的字段上使用 ngModel。正在努力如何将表单中的数据分配到服务的输入字段。

HTMl 的当前部分:

<form [formGroup]="todoForm">
    <mat-form-field>
        <input matInput
               placeholder="TaskName"
               formControlName="taskName"
               required
               [(ngModel)]="todoListService.toDoData.taskName"
        >
    </mat-form-field>
Run Code Online (Sandbox Code Playgroud)

所以我删除了 ngModel 行并将其添加到我的 TS 中:

saveToDo() {
        this.dialogRef.close();
        this.todoListService.toDoData.taskName = this.todoForm.get('taskName');
        this.todoListService.toDoData.dueDate = this.todoForm.get('dueDate');
        this.todoListService.toDoData.extraNote = this.todoForm.get('extraNote');
        this.todoListService.addToDo();
    }
Run Code Online (Sandbox Code Playgroud)

我从中得到的错误是:

ERROR in src/app/new-to-do-dialog/new-to-do-dialog.component.ts(31,9): error TS2322: Type 'AbstractControl' is not assignable to type 'string'.
src/app/new-to-do-dialog/new-to-do-dialog.component.ts(32,9): error TS2322: Type 'AbstractControl' is not assignable to type 'DateConstructor'.
  Property 'prototype' is missing …
Run Code Online (Sandbox Code Playgroud)

angular angular-reactive-forms

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

我可以将 Docker 运行参数传递给可选的 Golang 标志吗?

我想在 docker 容器中运行一个简单的 go 脚本。该脚本有一些标志,如下面的两个示例。

标志:

dataSource := flag.String("input", "", "Path")
...
concurrency := flag.Int("concurrency", 10, "Concurrency")
flag.Parse()
Run Code Online (Sandbox Code Playgroud)

一些标志设置了默认值并且是可选的。其他必须由用户设置。我如何将 docker run 命令中的参数传递给 go 脚本,而无需用户输入所有参数?

Dockerfile:

FROM golang:alpine AS builder
RUN apk update && apk add --no-cache git
WORKDIR $GOPATH/go/src/app
ENV GOBIN=/usr/local/bin
COPY . .
RUN go get github.com/lib/pq
RUN go build -o /go/bin/Import
FROM scratch
COPY --from=builder /go/bin/Import /go/bin/Import
ENTRYPOINT ["/go/bin/Import""]
Run Code Online (Sandbox Code Playgroud)

我已阅读有关ENTRYPOINT的文档,但找不到适合我的任何内容。它甚至可能还是没有意义?

我已经阅读过类似这样的帖子:运行 Docker 映像时传递可选参数。他们只是传递单个参数,我将如何定义这些参数的默认值?

谢谢你的帮助

go docker

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

为什么console.log在记录字符串+对象时会记录不同的结果

我正在尝试解决代码中的问题.为此,我正在记录对象并在前面添加一个文本以确保日志来自何处.像这两个例子:

console.log('TodoList Dialog Open: ' + todo);
console.log('Todo List get Todos ' + data);
Run Code Online (Sandbox Code Playgroud)

当我注销上面的两个例子时,我得到了这个输出:

Todo List get Todos [object Object],[object Object],[object Object]

前面没有任何字符串我得到这个输出:

(3) [{…}, {…}, {…}]
0: {id: 392, taskName: "GMDU", dueDate: "2019-02-07", extraNote: "You have done it all wrong", taskCompleted: true}
1: {id: 391, taskName: "PMB", dueDate: "2019-02-07", extraNote: "Study you lazy ass!", taskCompleted: true}
2: {id: 393, taskName: "INMA", dueDate: "2019-02-07", extraNote: "Do something else", taskCompleted: false}
length: 3
__proto__: Array(0)
Run Code Online (Sandbox Code Playgroud)

有没有办法记录对象并在其前面添加一个字符串?

谢谢你的帮助!

typescript angular

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

尽管字符串是有效的 UTF8,但字节序列无效

我正在尝试向 postgres 批量导入程序写入 txt。该代码当前崩溃,因为应插入到 postgres 的字符串不是有效的 UTF8:pq: invalid byte sequence for encoding UTF8: 0x00

在我的代码中,我检查字符串是否是有效的 UTF8。

我缺少什么?

代码:

for {
        line, more := <-lineChannel

        splitLine := strings.SplitN(line, ":", 2)

        if len(splitLine) == 2 {
            if utf8.Valid([]byte(splitLine[0])) && utf8.Valid([]byte(splitLine[1])) {
                lineCount++
                _, err = stmt.Exec(splitLine[0], splitLine[1])

                if lineCount%int64(copySize) == 0 {

                    _, err = stmt.Exec()
                    if err != nil {
                        log.Fatal("Failed at stmt.Exec", err)
                    }

                    err = stmt.Close()
                    if err != nil {
                        log.Fatal("Failed at stmt.Close", err)
                    }

                    err = …
Run Code Online (Sandbox Code Playgroud)

postgresql go pq

0
推荐指数
1
解决办法
5418
查看次数