小编Raz*_*nho的帖子

如果角度2组件包含另一个组件,如何进行单元测试

我对棱角2很新.

我有一个组件,其模板中还有一些其他组件.

如何编写单元测试以检查我的父组件是否包含其他组件.

提及样本或指导我使用资源非常有帮助.

MyComponent.ts:

import { Component } from '@angular/core';
@Component({
selector: 'my-component',
templateUrl: `<div>
<other-component></other-component>
</div>`
})
export class MyComponent{

}
Run Code Online (Sandbox Code Playgroud)

OtherComponent.ts:

import { Component } from '@angular/core';
@Component({
selector: 'other-component',
templateUrl: `<div>
<h1>Other Component</h1>
</div>`
})
export class OtherComponent{

}
Run Code Online (Sandbox Code Playgroud)

karma-jasmine angular2-testing angular

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

在 angular/ngrx 应用程序中的何处放置用于将状态保存到本地存储的逻辑

我有一个使用@ngrx 进行状态管理的角度应用程序。在这个应用程序中,我有一个逻辑,它订阅状态的某些视图,并在它们更改时将它们保存到本地存储。该代码按预期工作,但我目前将它放在我的应用程序组件中,这似乎是它的错误位置。有人可以建议放置这种逻辑的最佳位置是什么吗?

import { Component } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/combineLatest';
import { Store } from '@ngrx/store';

import * as fromRoot from './state-management/reducers';

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
})
export class AppComponent {
    constructor(
        private store: Store<fromRoot.State>,
    ){
        // Persist the user, with things to local storage
        Observable.combineLatest(
            store.select(fromRoot.getAuthUser),
            store.select(fromRoot.getThings),
            (user, things) => {
                return {...user, things: things};
            }
        ).subscribe(user => {
            let oldUser = JSON.parse(localStorage.getItem('currentUser'));
            localStorage.setItem('currentUser', JSON.stringify({...oldUser, user: user}));
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript local-storage redux ngrx angular

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

检查值是否可以在postgres中作为间隔进行类型转换

我有一个用户定义的值,该值输入到postgres数据库中。如果正确输入了该值,则应该可以将其转换为一个间隔,但是,某些输入的值可能不正确,这将引发异常。

有没有一种方法可以检查是否可以将值强制转换为间隔?遵循以下内容:

CASE
    WHEN my_interval [can be cast as interval] THEN my_interval::interval
    ELSE NULL
END as my_valid_interval
Run Code Online (Sandbox Code Playgroud)

sql postgresql

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

d3.js nice()ticks背后的逻辑是什么

我在d3.js中生成了一些图表.我使用下面的代码来计算放在y轴上的值,它就像一个魅力.

var s = d3.scale.linear().domain([minValue, maxValue]);
var ticks = s.nice().ticks(numberOfPoints);
Run Code Online (Sandbox Code Playgroud)

但是我现在必须使用pycairo编写python代码,pycairo在服务器端生成d3.js图表​​的克隆.

我的问题是,是否有人知道上面代码中使用的逻辑,或者可以给出类似结果的东西,以便我可以在python中复制它以获得在y轴中使用的漂亮值?

javascript python charts pycairo d3.js

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

毒药无法编码错误消息

我正在使用phoenix作为JSON API。我的模型之一如下所示,除非unique_constraint检查失败,否则它将很好地工作。发生这种情况时,我会收到以下错误消息:

(Poison.EncodeError) unable to encode value: {"Email address is already registered", []}
Run Code Online (Sandbox Code Playgroud)

型号

defmodule MyApp.Registration do
  use MyApp.Web, :model

  @derive {Poison.Encoder, only: [:name, :email, :category]}
  schema "registrations" do
    field :name, :string
    field :category, :string
    field :email, :string

    timestamps
  end

  def changeset(model, params \\ :empty) do
    model
    |> cast(params, ~w(name email category), [])
    |> validate_length(:name, min: 1, max: 240)
    |> unique_constraint(:email, message: "Email address is already registered")
  end

end
Run Code Online (Sandbox Code Playgroud)

控制器

def create(conn, registration_params) do
  changeset = Registration.changeset(%Registration{}, registration_params) …
Run Code Online (Sandbox Code Playgroud)

elixir phoenix-framework elixir-poison

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

Javascript JQuery倒计时器

我正在尝试为日期/时间创建一个简单的倒数计时器.

我目前只有以下几天去脚本工作正常:

<div id="countdown">

today = new Date();
BigDay = new Date("March 29, 2013");
msPerDay = 24 * 60 * 60 * 1000 ;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
document.write(daysLeft + " days to go!");

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

我现在正在尝试创建一个完整的倒数计时器(包括小时,分钟和秒),并创建了以下脚本.html没有显示在页面上.

var today = new Date();
var BigDay = new Date("29 03 2013, 14:30:00");
var msPerDay = 24 * 60 * 60 * 1000 ;
var timeLeft = (BigDay.getTime() - today.getTime());
var e_daysLeft = timeLeft / …
Run Code Online (Sandbox Code Playgroud)

html jquery countdowntimer

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