小编hoo*_*zis的帖子

没有反应形式的角度材料验证

我正在努力使 Angular Material 表单验证与 Angular Template 表单一起工作。所有示例仅适用于反应形式。

我正在以以下形式生成模板 Angular Material 模板表单:

<mat-form-field *ngSwitchCase="'text'" class="entity-form-field" appearance="outline">
  <input matInput [placeholder]="field.title" [value]="getValue(field)" 
    (change)="setValue(field, $event)" [required]="field.req" [id]="field.id">
  <mat-error *ngIf="fieldInvalid(field)">{{getErrorMessage(field)}}</mat-error>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

无论fieldInvalidgetErrorMessage工作正常,因此该领域的错误消息应该是可见的。如果我将其更改为不同的标签,则它将可见:

<p *ngIf="fieldInvalid(field)">{{getErrorMessage(field)}}</p>

我知道 Reative Forms 必须更改输入的状态才能更改其样式以使其可见。

有没有办法对简单的模板表单做同样的事情?我可能也可以应用 Angular Material 错误样式,但我找不到文档。

angular-material2 angular

6
推荐指数
2
解决办法
6358
查看次数

F#多维数组理解

是否有使用理解创建多维数组的语法是F#?这对于锯齿状数组非常容易:

let weights1 = [|
                  [|3.0|]
                  [|1.0|]
               |]
Run Code Online (Sandbox Code Playgroud)

当然,我可以将这个锯齿状数组转换为多维数组:

let weights = Array2D.init 2 2 (fun i j -> weights1.[i].[j])
Run Code Online (Sandbox Code Playgroud)

但是,有没有一种语法方式做同样的事情?

arrays f#

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

F#将函数应用于它的结果n次

我试图为以下代码找到一个功能正确的方法:

let mutable u = initialize cities pms
for i in 0 .. 10 do
    u <- randomIteration u pms distances
Run Code Online (Sandbox Code Playgroud)

randomIteration是一个简单的函数,它接受一个带有2个参数的数组并返回一个修改过的数组.这个过程必须重复n次(这里10).

我提出了一个使用折叠的解决方案,但我正在创建一个"虚拟"序列,只是为了能够折叠它,这似乎不对.

let result = Seq.init 10 (fun i -> i) |> Seq.fold (fun uNext i -> randomIteration uNext pms distances) u
Run Code Online (Sandbox Code Playgroud)

我也可以使用带有计数器变量的递归,但这似乎很尴尬.我只是错过了一个简单的正确解决方案?

f# functional-programming

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

Angular Material - mat-menu 的动态样式

我想对 mat-menu 的内容应用动态样式。我知道我可以使用panelClass来分配一个类,但我的类是动态的。

对于这种情况,Angular 具有[ngStyle]或仅[style.attribute]绑定,但这不适用于 mat-menu(或其他叠加层),它仅适用于直接渲染的元素。

我正在寻找像panelStyle这样的东西,它允许我直接在包含 mat-menu 的面板上动态设置样式。

这是一个代码示例,其中 panelClass 允许我设置一些 css,但只有静态一个,ngStyle 没用。

<mat-menu [ngStyle]="{'background-color': colorVariable }" panelClass="some-static-class-works">
Run Code Online (Sandbox Code Playgroud)

我在找什么:

<mat-menu [panelStyle]="{'background-color': colorVariable }">
Run Code Online (Sandbox Code Playgroud)

angular-material angular

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