小编Gab*_*iel的帖子

冲洗d3 v4过渡

有人知道一种"冲洗"过渡的方法.我的转换定义如下:

this.paths.attr('transform', null)
  .transition()
  .duration(this.duration)
  .ease(d3.easeLinear)
  .attr('transform', 'translate(' + this.xScale(translationX) + ', 0)')
Run Code Online (Sandbox Code Playgroud)

我知道我能做到

this.paths.interrupt();
Run Code Online (Sandbox Code Playgroud)

停止过渡,但这并没有完成我的动画.我希望能够"刷新"立即完成动画的过渡.

transition d3.js

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

子组件中的formControlName

我想创建一个自定义输入组件并在表单中重用它,但是我遇到了formGroup和formControlName的问题。

// Form
<form [formGroup]='loginForm'>
  <custom-input [myFormControlName]='email'></custom-input>
</form>

// CustomInput Component's Template
<input formControlName='myFormControlName'>
Run Code Online (Sandbox Code Playgroud)

问题似乎是formControlName预期与FormGroup指令一起使用,并且由于我在子组件中使用formControlName,所以找不到formControlName。有人知道如何解决该问题吗?

angular angular-reactive-forms

8
推荐指数
3
解决办法
5069
查看次数

Angular 2+仅在更改时订阅observable

所以这是场景.我有一个带有BehaviorSubject的用户服务和一个返回此BehaviorSubject的observable的方法.我的第二个文件是订阅observable的标题组件.问题是..是否可以只订阅更改或者我需要在之前有一些逻辑this.userSubject.next(this.user)吗?

这里是参考代码:

// user.service.ts
user: User;
private userSubject = new BehaviorSubject<User>(new User({}));

keepUpdated = () => {
  this.tokenService.tokenStream()
    .subscribe(token => {
      this.user.update(token);
      this.userSubject.next(this.user);
    });
}
Run Code Online (Sandbox Code Playgroud)

和这里

// header.component.ts
ngOnInit() {
  this.userService.keepUpdated();
  this.userService.userStream()
    .subscribe(user => {
      // Here is the problem. This console.log gets called everytime userSubject.next(this.user) send something. I would like it only only to be called if the user is different from the previous one.
      console.log(user);
    });
}
Run Code Online (Sandbox Code Playgroud)

observable behaviorsubject angular2-observables angular

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

Mongoose find().exec() 承诺问题

有人可以向我解释为什么下面的代码返回audiences而不是返回一个空数组吗?

return Audience.find()
  .exec((err, audiences) => {
    if (err) return errorHandler.handle('audienceService', err);

    return Promise.resolve([]);
  });
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb es6-promise

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

CSS忽略兄弟div

我试图实现看起来相当简单的东西,但我不确定是否有办法用css完成它.

我有一个连续显示的标签列表.在下面的小提琴中,我修改了tags-wrapper模拟行包装的大小.

现在我想做的是在最后一个标签之后直接添加输入(在同一行上).我不确定这是怎么可能的,因为这意味着输入将在tags-wrapperdiv 内部(如果我错了,请纠正我,但我认为只有绝对定位div才能实现).

实际上我想要做的是忽略tags-wrapperdiv并将我的输入直接放在最后一个tagdiv之后,但是我无法更改html,因为我正在使用角度组件和输入进行开发,并且tags-wrapper它们位于不同的组件中.

.tags-wrapper{
  width: 210px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.tag{
  padding: 2px 3px;
  margin: 1px 2px;
  border: 1px solid black;
}

input{
  width: 60px;
}
Run Code Online (Sandbox Code Playgroud)
<div class='tags-wrapper'>
	<div class='tag'>Basketball</div>
	<div class='tag'>Football</div>
	<div class='tag'>Baseball</div>
</div>
<input placeholder='Search'>
Run Code Online (Sandbox Code Playgroud)

html css position css3 css-float

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