小编Dal*_*ley的帖子

如何在Angular 5反应形式输入中使用管道

我试图弄清楚如何在反应形式中使用管道,以便输入被强制为货币格式.我已经为此创建了自己的管道,我已经在代码的其他区域进行了测试,所以我知道它可以作为一个简单的管道工作.我的管道名称是'udpCurrency'

我在堆栈溢出上找到的最接近的答案就是这个:在Angular2-View中的INPUT元素中使用ngModel中的管道然而这在我的情况下不起作用,我怀疑它与我的表单是被动的事实有关

以下是所有相关代码:

模板

<form [formGroup]="myForm" #f="ngForm">
  <input class="form-control col-md-6" 
    formControlName="amount" 
    [ngModel]="f.value.amount | udpCurrency" 
    (ngModelChange)="f.value.amount=$event" 
    placeholder="Amount">
</form>
Run Code Online (Sandbox Code Playgroud)

组件

import { Component, OnInit, HostListener } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';

export class MyComponent implements OnInit {
  myForm: FormGroup;

  constructor(
    private builder: FormBuilder
  ) {
    this.myForm = builder.group({
      amount: ['', Validators.required]
    });
  }    
}
Run Code Online (Sandbox Code Playgroud)

错误:

ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'undefined: '. Current value: 'undefined: undefined'
Run Code Online (Sandbox Code Playgroud)

angular-pipe angular angular-reactive-forms

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

我是否需要在 Github 上进行身份验证和签名密钥?

Github 允许用户添加 SSH 密钥以访问存储库,但它并没有很好地解释“身份验证密钥”和“签名密钥”之间的区别我想知道的具体问题是:

  1. 我是否需要两种类型的密钥才能访问存储库?

  2. 如果我只添加一个键并且该键是“歌唱键”,那我是否也可以简单地检查代码?换句话说,签名密钥也可以进行身份​​验证吗?

  3. 如果我想同时进行身份验证和签名,这些密钥是否必须彼此不同,或者我可以对两者使用完全相同的密钥吗?

  4. 如果这些密钥必须彼此不同,我如何在我的服务器上配置 Git 来发送这两个密钥,因为我认为这是必要的,对吗?

github

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

无法使用身份验证制作基本的mongo shell脚本

我有一个非常复杂的问题,我认为我可以通过编写一个mongo shell脚本来解决,但我甚至无法建立一个简单的连接.我有一个本地mongo数据库,需要一个我通常访问的用户名/密码,如下所示:

mongo admin -u <username> -p
Run Code Online (Sandbox Code Playgroud)

在这一点上,我输入密码和万岁!我有一个壳.但这对我的问题不起作用.作为测试,我创建了一个名为test.js的文件,其中包含的是:

var conn = new Mongo()

db = conn.getDB("test");
db.cust.find();
Run Code Online (Sandbox Code Playgroud)

然后我从命令行运行脚本,如下所示:

mongo test.js
Run Code Online (Sandbox Code Playgroud)

在这一点上,我得到这个:

MongoDB shell version: 2.4.10
connecting to: test
Run Code Online (Sandbox Code Playgroud)

为什么我没有结果?

mongodb mongo-shell

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

Laravel:命令未找到

我觉得自己像是一个不得不问这个问题的白痴,而且我已经完成了所有类似的问题而无济于事.我正在mac上运行Ubuntu 14.04 in vagrant vm.我安装了composer,我运行了这些命令:

composer global require "laravel/installer"
Run Code Online (Sandbox Code Playgroud)

(这似乎有用,并表明laravel是下载的东西之一)

我还将此行添加到.bashrc中

export PATH="?/.composer/vendor/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

注意,我将此添加到vagrant用户以及root用户.bashrc文件中.我已经注销并返回shell并使用此命令验证了路径:

echo $PATH
Run Code Online (Sandbox Code Playgroud)

这给了我这个:

〜/ .composer /供应商/斌:〜/ .composer /供应商/斌:在/ usr/local/sbin中:在/ usr/local/bin目录:/ usr/sbin目录:在/ usr/bin中:/ sbin目录:/ bin中:在/ usr /游戏:在/ usr /本地/游戏

失败的命令本身就是这个

laravel new test
Run Code Online (Sandbox Code Playgroud)

我没有看到我可能遗失的东西,任何想法?

laravel composer-php

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

MySQL奇怪的行为用逗号分隔的数字列表

我有一个非常复杂的问题,但我把它缩小到这个,首先,让我给你一些测试数据:

运行这个:

CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `value` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

INSERT INTO test (value) VALUES
(1),
('1'),
('1,2'),
('3');
Run Code Online (Sandbox Code Playgroud)

现在运行此查询:

SELECT * FROM test WHERE value = 1;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我希望只获得前两行,其中值作为数字1或'1'字符输入,但由于某种原因,这是我得到的:

1, 1
2, 1
3, 1,2
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么我得到第三排?

注意:这是我的mysql版本:5.6.28-0ubuntu0.14.04.1

此外,我已经通过使用FIND_IN_SET解决了我的原始问题,并且我知道将逗号分隔的列表类型结构放在一起并不是一个好主意,也就是说,它应该首先使用连接表来完成.不幸的是,我在一个非常庞大的系统中工作,并且目前这种改变是不切实际的.

我只是对这种特定行为发生的原因感兴趣.

mysql implicit-conversion

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

Typescript的/**@class*/有目的吗?

我正在学习打字稿,我注意到编译好的javascript对每个类都有一个注释:/**@class*/

例:

var Student = /** @class */ (function () {
    function Student(firstName, middleInitial, lastName) {
        this.firstName = firstName;
        this.middleInitial = middleInitial;
        this.lastName = lastName;
        this.fullName = firstName + " " + middleInitial + " " + lastName;
    }
    return Student;
}());
Run Code Online (Sandbox Code Playgroud)

我的问题是这个评论是否具有任何功能价值,还是仅仅是语法糖?另外,如果它确实有功能,那么功能是什么?

javascript typescript

7
推荐指数
2
解决办法
1806
查看次数

为什么从 Visual Studio 运行 .sh 脚本会打开该文件而不是运行它?

我正在尝试从 Windows 10 中运行的 Visual Studio Code 中运行 .sh 脚本(该脚本本身应该在 Flask 中启动一系列单元测试),并且出于某种原因,无论我尝试什么,它都只会打开文件进行编辑而不是实际运行该文件。

这是我正在输入的确切命令:

C:\Users\my.user\MyRepo>.\scripts\run-unit-tests.sh
Run Code Online (Sandbox Code Playgroud)

这是我的笔记:

  1. 这是 Windows 10 的全新安装,我相信我已启用 WSL2

  2. 我完全不熟悉在 Windows 中进行开发(来自 Ubuntu/Linux 背景)

  3. 我的目标是从 VS Code 的内置终端运行此脚本,但是我也尝试从 cmd 提示符和 powershell 运行它,这两种方法也会导致在 VS Code 中打开文件。

附录:更多说明:

我实际上有两台Windows机器。一台是我的个人机器,另一台是我的工作提供的。无论出于何种原因,该文件在我的个人计算机上运行良好,但在我的工作计算机上却不起作用。此外,bash 脚本位于我公司其他人创建的存储库中,因此我确信可以在不修改 .sh 文件本身的情况下运行它。

bash visual-studio-code windows-subsystem-for-linux wsl-2

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

模板驱动表单上的角度条件验证

我有一个输入字段只有在设置了另一个值时才需要.另一个值来自select.请注意,我的实际形式要复杂得多,但这里是一个示例,显示与此问题相关的部分:

模板:

<form name="createPaymentForm" (ngSubmit)="f.form.valid && createPayment()" #f="ngForm" novalidate>

  <select name="orderNumberType" #orderNumberType="ngModel" 
    [(ngModel)]="payment.orderNumberType">
    <option [ngValue]="undefined" disabled>Select</option>
    <option *ngFor="let opt of paymentIdOptions" [value]="opt.id">{{opt.label}}</option>
  </select>

  <div [ngClass]="{ 'has-error': f.submitted && !orderNumber.valid }">
    <input type="text" name="orderNumber"
      [(ngModel)]="payment.orderNumber" #orderNumber="ngModel">
  </div>

</form>
Run Code Online (Sandbox Code Playgroud)

组件:

import { Component, OnInit } from '@angular/core';
import { PaymentsService } from '../../../services/payments.service';
import { Payment } from '../../../models';

@Component({
  selector: 'app-new-payment',
  templateUrl: './new-payment.component.html',
  styleUrls: ['./new-payment.component.scss']
})
export class NewPaymentComponent implements OnInit {
  paymentIdOptions: any = [];
  payment: Payment = {};

  constructor( …
Run Code Online (Sandbox Code Playgroud)

validation angular

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

Angular 5 tsconfig baseURL无法正常工作

这看起来很简单,但它不起作用(对我来说)

我正在运行一个Angular 5应用程序,其中有三个文件位于以下位置:

app_directory/tsconfig.json
app_directory/src/app/services/my-service.service.ts
app_directory/src/app/main/sub1/sub2/my-component.component.ts
Run Code Online (Sandbox Code Playgroud)

在my-component.component.ts文件中,我可以使用以下行成功导入my-service:

import { MyServiceService } from '../../../services/my-service.service.ts'
Run Code Online (Sandbox Code Playgroud)

虽然这一切都很好,但是每次我想要导入这个服务时都必须放置相对路径,所以我对SO进行了一些检查并且发现了这个帖子:如何避免Angular中具有很长相对路径的导入2?

所以我试图做同样的事情并将我的tsconfig.json更改为以下内容:

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./src/app/",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

并将我的导入更改为:

import { MyServiceService } from 'services/my-service.service.ts'
Run Code Online (Sandbox Code Playgroud)

但当然这不起作用.所以(不改变导入)我为baseUrl尝试了以下值:

.
./
./app
./src
./app/
./src/
src/app
src/app/
Run Code Online (Sandbox Code Playgroud)

似乎tsconfig baseUrl根本没有任何效果.我在这里错过了什么?

typescript angular

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

无法让 ngx-bootstrap 收音机工作,没有值访问器

这一直在驱使我爬墙。我几乎在使用 ngx-bootstrap 手册中的示例:https ://valor-software.com/ngx-bootstrap/#/buttons#radio-reactiveforms ,但它不起作用。这是我的模板和组件:

模板:

<pre class="card card-block card-header">{{ myForm.value | json }}</pre>
<form [formGroup]="myForm" class="form-inline">
  <div class="form-group">
    <div class="btn-group" btnRadioGroup formControlName="radio">
      <label btnRadio="A" class="btn btn-primary">A</label>
      <label btnRadio="B" class="btn btn-primary">B</label>
      <label btnRadio="C" class="btn btn-primary">C</label>
    </div>
  </div>
</form>
Run Code Online (Sandbox Code Playgroud)

成分:

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';

@Component({
  selector: 'demo-buttons-radio-reactiveforms',
  templateUrl: './keyed-payment.component.html',
  styleUrls: ['./keyed-payment.component.scss']
})
export class KeyedPaymentComponent implements OnInit {
  myForm: FormGroup;

  constructor(private formBuilder: FormBuilder) {}

  ngOnInit() {
    this.myForm = this.formBuilder.group({
      radio: …
Run Code Online (Sandbox Code Playgroud)

ngx-bootstrap angular angular-reactive-forms

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