小编Aja*_*jax的帖子

Mongodb选择所有字段按一个字段分组并按另一个字段排序

我们有以下字段的集合'消息'

_id |   messageId |  chainId | createOn

1   |       1     |    A     | 155
2   |       2     |    A     | 185
3   |       3     |    A     | 225
4   |       4     |    B     | 226
5   |       5     |    C     | 228
6   |       6     |    B     | 300
Run Code Online (Sandbox Code Playgroud)

我们希望按照以下标准选择所有文档字段

  1. 受到字段'chainId'的干扰
  2. 按顺序排序(排序)'createdOn'

所以,预期的结果是

_id |   messageId |  chainId | createOn

3   |       3     |    A     | 225
5   |       5     |    C     | 228
6   |       6     |    B …
Run Code Online (Sandbox Code Playgroud)

java mapreduce mongodb aggregation-framework spring-data-mongodb

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

Angular 4动态表单组

我正在尝试创建一个动态表单组,我试图实现这一目标

在此输入图像描述

在添加更多点击添加2动态字段我调用此功能:

onAddSurgeries(){
    const control = new FormGroup({
        'surgery': new FormControl(null),
        'illness': new FormControl(null)
    });
      (<FormArray>this.form.get('surgeries')).push(control);
}
Run Code Online (Sandbox Code Playgroud)

这就是我的html的样子:

<tr *ngFor="let ctrl of form.get('surgeries')['controls']; let i = index">
   <td><input type="text" class="form-control" [formControlName]="ctrl['controls'].surgery"></td>
   <td><input type="text" class="form-control" [formControlName]="ctrl['controls'].illness"></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我知道我正在做的错误,formControlName不应该是" ctrl['controls'].surgery"我应该把"我" formcontrolname当我只有一个formcontrol而不是2个控件formgroup,但在这种情况下我不知道我应该输入什么formControlName因为当我提交表单时,两个输入的值都是空的,因为它没有与formgroup控件同步

typescript angular

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

构建单个指令来执行结构和属性行为?

我正在尝试构建一个 Angular 指令,我想根据一些配置输入值实现以下目标

  1. 根据输入值在 DOM 中添加元素。(就像 ngIf)
  2. 如果元素呈现,则为其添加一些样式
  3. 添加一些属性属性,如disabled元素

根据我对 Angular 的一点了解和理解,我们可以使用Structural Directive来实现第一个要求。至于第二和第三个要求,我们需要创建Attribute Directive。这是我对这两个指令的实现

import { SomeService } from './some.service';
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';

@Directive({ selector: '[structuralBehaviour]' })
export class StructuralBehaviourDirective {

    constructor(private templateRef: TemplateRef<any>,
        private viewContainer: ViewContainerRef, private someService: SomeService) { }

    @Input() set structuralBehaviour(config: any) {

        // 1st Condition
        // Conditional Stamentents using config and somService
        // For the purpose to decide whether to add template in …
Run Code Online (Sandbox Code Playgroud)

typescript angular-directive angular

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

为什么像 'filter' 和 'map' 这样的数组函数在 Angular 的 'ngFor' 表达式中不起作用?

在使用 angular 模板时,我发现像这样的数组函数对于像 follow 这样的指令表达式slice()完全可以正常工作ngFor

<div *ngFor="let item of arry.slice(3)">
  {{ item.name }}
</div>
Run Code Online (Sandbox Code Playgroud)

当我尝试使用数组函数时,filter()map()ngFor表达式中,如下所示

<div *ngFor="let item of arry.filter(i => i.marks > 40)">
  {{ item.name }}
</div>
Run Code Online (Sandbox Code Playgroud)

它给了我角度模板解析错误

Zone: <root> ; Task: Promise.then ; Value: Error: Template parse errors: Parser Error: Bindings cannot contain assignments at column 25 in [let item of arry.filter(i => i.marks > 40)]

为了理解这种行为背后的原因,我试图找出一些解释这些限制的文件,但没有找到。任何线索或解释将不胜感激。

javascript arrays ngfor angular

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

用样式化的组件覆盖React组件样式

我试图覆盖由styled-components(styled。)的标准方法创建的组件的样式,而ways(styled()style.extends)都对我有用。

但是,当我尝试使用styled()方法覆盖简单的react组件的样式时,它呈现了组件,但没有覆盖它的样式。

下面是代码片段

import React, { Component } from "react";
import styled from "styled-components";

export default class MyLabel extends Component {
  render() {
    return <label>{this.props.children}</label>;
  }
}

const StyledMyLabel = styled(MyLabel)`
    color: green;
`;
Run Code Online (Sandbox Code Playgroud)

为了显示目的,我使用以下语法

<StyledMyLabel>My Styled Label</StyledMyLabel>
Run Code Online (Sandbox Code Playgroud)

请参考codesandbox上的链接,链接可能会有用

reactjs styled-components

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