小编Gab*_*iel的帖子

delay何时不推荐使用RxJs

Deprecated symbol used ...在IDE中收到一条警告,要求delayWhen在我的应用程序中使用它。

在此处输入图片说明

我的代码:

private nextImg(): Observable<void> {
    return this.stream$.pipe(
          delayWhen(() => timer(1000),
          tap(() => this.subject.next(NEXT_IMG)),
         );
}
Run Code Online (Sandbox Code Playgroud)

我检查了源代码中的delayWhen操作者和文档,以及,但我无法找到,而不是使用什么delayWhen。任何的想法?

intellij-idea deprecated rxjs

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

将 ListView 的子项与顶部和底部对齐

TL; 博士

是否可以ListView'sColumn's spaceBetween对齐一样对齐孩子?

就像这个截图:

在此处输入图片说明

我试图解决的问题:

一开始我有一个Column有 2 个孩子的小部件。该Column's对齐设置为spaceBetween。这正是我想要的,一个在顶部,一个在底部。但是当我点击输入以添加凭据时,键盘导致了此 GitHub问题中描述的溢出问题。所以为了修复它,我ColumnListView. 但是现在我的孩子小部件被卡在屏幕顶部。

我的完整LoginScreen代码:

import 'package:flutter/material.dart';

import '../widgets/button.dart';
import '../widgets/input.dart';
import '../widgets/logo.dart';

class LoginScreen2 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: <Widget>[
          Background(),
          Wrapper(),
        ],
      ),
    );
  }
}

class Background extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: …
Run Code Online (Sandbox Code Playgroud)

flutter

6
推荐指数
4
解决办法
5981
查看次数

如何将输入值传递给父组件

我想将输入值传递给父组件.目前我正在ElementRef从我的子组件发送整个输入.这样做有一种优雅的方式吗?我的意思是,我只需要发送一个数字,而不是整个参考.

子组件:

import { Component, ViewChild } from '@angular/core';

@Component({
  selector: 'app-action-dialog-content',
  template: `
  <md-input-container>
      <input #amount md-input placeholder="Amount">
      <span md-suffix>€</span>
  </md-input-container>
  `
})
export class ActionDialogContentComponent {

  @ViewChild('amount') amount;

}
Run Code Online (Sandbox Code Playgroud)

父组件:

import { Component, ViewChild } from '@angular/core';

import { ActionDialogContentComponent } from './../action-dialog-content/action-dialog-content.component';

@Component({
  selector: 'app-action-dialog',
  template: `
  <app-action-dialog-content></app-action-dialog-content>
  <md-dialog-actions>
      <button md-raised-button (click)="sendData()">ADD</button>
  </md-dialog-actions>
  `
})
export class ActionDialogComponent {

  @ViewChild(ActionDialogContentComponent) amountInput: ActionDialogContentComponent;

  sendData() {
    console.log(this.amountInput.amount.nativeElement.value);

  }

}
Run Code Online (Sandbox Code Playgroud)

components angular

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

如何替换字符串中的多个字符?

我想用以下逻辑创建一个正则表达式:1.,如果string包含T用空格2替换它,如果string包含ZremoveZ

我已经写了两个正则表达式,但我无法将它们组合起来:

string.replace(/\T/g,' ') && string.replace(/\Z/g,'');
Run Code Online (Sandbox Code Playgroud)

编辑:我希望正则表达式代码更短

javascript regex

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

从 html 响应中解析数据

我正在通过 AngularGET向服务发送请求。我得到的响应是字符串中的 html。如何解析该字符串中的数据?WMSHttpClient

\n\n

响应如下所示:

\n\n
<html>\n<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>\n<body>\n<p>Temperature 16.6 \xc2\xb0C</p>\n<p>Temperature 18.2 \xc2\xb0C</p>\n</body></html>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要获取段落标签内的值。我找到了仅通过指令显示数据的解决方案innerHtml,但这不是我的情况。

\n\n

编辑:

\n\n

我通过以下方式找到了一种可能的解决方案DOMParser

\n\n
const parser = new DOMParser();\nconst doc = parser.parseFromString(myHtmlStringResponse, "text/html");\nconst values = [];\n\nconst p = doc.getElementsByTagName("p");\n\nfor (const item of Array.from(p)) {\n     values.push(item.textContent);\n}\n
Run Code Online (Sandbox Code Playgroud)\n

parsing typescript angular

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

使用不同的 updateOn 选项为同一字段定义多个验证器

我需要验证用户创建表单。我必须针对 2 种情况验证电子邮件:

  1. 这是必需的

  2. 用户只能收到来自特定域的电子邮件(例如仅来自 gmail)。

对于第一个场景,我需要验证“更改”,对于“模糊”事件的第二个场景。问题是,我无法为不同的事件验证相同的字段。至少我不知道该怎么做。我需要这样的东西:

this.userForm = this.formBuilder.group({
        email: new FormControl("", {validators: Validators.required, updateOn: "change"}),
        email: new FormControl("", {validators: validateEmail, updateOn: "blur"}),

        ... // more fields
});
Run Code Online (Sandbox Code Playgroud)

知道如何实现这一目标吗?

angular angular-forms

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

不要在 ng-repeat 范围内重复元素

是否可以以某种方式定义角度,我不想在ng-repeat范围内重复一些 html 标签。例如,我想创建一个像这样的选项卡过滤器:

 <div class="searchandfilter" ng-app="phonecatApp">
    <span ng-controller="PhoneListCtrl"> 
        <span ng-repeat="phone in phones" class="tab-controller">
            <ul>
                <li class="tab" >{{phone.name}}</li>
            </ul>
            <span class="tab-content dont-repeat">
                <span>
                    <input type="checkbox">{{phone.brand}}</input>
                </span>
            </span>
        </span>
    </span>
</div>
Run Code Online (Sandbox Code Playgroud)

我不想在 class 中重复 span dont-repeat,但spaninputinside 中我需要重复。

JSFiddle

angularjs angularjs-ng-repeat angularjs-controller

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

为所有包全局设置 --no-optional 参数

是否可以--no-optional全局设置参数,所以每次运行npm install XYPackage它时都会安装这个没有可选依赖项的包?在我的项目中,我有一个npm install带有这个参数的脚本,但问题是,当我想安装一个新包时,我总是忘记添加它。

npm npm-install

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

primeng - 一次仅选择一个复选框项目

是否可以将 primeng 的复选框模块配置为选择框,例如用户一次只能选择一个复选框?

我的组件:

<div class="ui-g" style="width:250px;margin-bottom:10px">
    <div class="ui-g-12"><p-checkbox name="group1" value="New York" label="New York" [(ngModel)]="selectedCities" inputId="ny"></p-checkbox></div>
    <div class="ui-g-12"><p-checkbox name="group1" value="San Francisco" label="San Francisco" [(ngModel)]="selectedCities" inputId="sf"></p-checkbox></div>
    <div class="ui-g-12"><p-checkbox name="group1" value="Los Angeles" label="Los Angeles" [(ngModel)]="selectedCities" inputId="la"></p-checkbox></div>
</div>
Run Code Online (Sandbox Code Playgroud)

工作 stackblitz示例

primeng angular

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

检查material2 sidenav是否打开

有没有办法检查sidenav元素是否打开?根据API文档,有一个isOpen?参数,但就我而言,它会引发异常:EXCEPTION: Error in ./AppComponent class AppComponent - inline template:2:2 caused by: this.sidenav.isOpen is not a function

import { Component, OnInit, ElementRef } from '@angular/core';

@Component({
  selector: 'app-sidebar',
  template: `
  <md-sidenav #sidenav mode="side" class="app-sidenav">
      Sidenav
  </md-sidenav>
  `,
  styleUrls: ['./sidebar.component.css'],
  host: {
      '(document:click)': 'onClick($event)',
  }
})
export class SidebarComponent implements OnInit {

  constructor(private sidenav: ElementRef) { }

  ngOnInit() {
  }

  onClick() {
     if (this.sidenav.isOpen()) {
         this.sidenav.close();
     }
  }

}
Run Code Online (Sandbox Code Playgroud)

material-design angular-material angular-material2 angular

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