有没有办法RouteReuseStrategy只针对特定路线实施?
这意味着每个路由都有子代,获得自己的自定义实现RouteReuseStrategy,并且只有在激活特定"树"中的路径时才触发其方法.
我目前使用这个答案中的代码,但是如果可能的话我想用上面的逻辑扩展它.
如标题所述,formGroupName值更改不会更新表单。(点击按钮后,输入中显示的值保持不变)
这是一个plunker。
@Component({
selector: 'my-app',
template: `
<form [formGroup]="myForm">
<div [formGroupName]="fgn">
<input [formControlName]="'name'">
</div>
</form>
<button (click)="formChange()" >Change</button>
{{fgn}}
<br>
{{myForm.value | json}}
`,
})
export class App {
private myForm: FormGroup;
private fgn: String;
ngOnInit() {
this.fgn = 'zero';
this.myForm = this.formBuilder.group({
zero: this.formBuilder.group({
name: 'Zero'
}),
one: this.formBuilder.group({
name: 'One'
})
});
}
formChange() {
this.fgn = 'one';
}
constructor(private formBuilder: FormBuilder) {
}
}
Run Code Online (Sandbox Code Playgroud) 我已经为div分配了一个:activeCSS伪类,使其对点击和保持具有"响应性".
.quarter:active{
opacity: 0.5;
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的是使用JQuery模拟长按.在.trigger("click")似乎没有这样的伎俩,因为没有明显的变色.我也试过了.trigger("focus"),.trigger("mousedown")但似乎我搞砸了.
<div id="1" class="quarter green" ></div>
<div id="2" class="quarter red" ></div>
<div id="3" class="quarter yellow" ></div>
<div id="4" class="quarter blue" ></div>
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这一点,还是我必须使用一种toggleClass方法?
编辑:感谢nashcheez回答我使用.trigger("focus")后面的a 解决了我的问题setTimeout(...{ .blur() }).谢谢大家的快速回复.
我试图理解为什么mergeMap当传入身份函数时 Rxjs 会变平
of(['click', 'tap'])
.pipe(
mergeMap(_ => _),
tap(console.log) // Gets called twice, first with 'click' then with 'tap'
)
.subscribe();
Run Code Online (Sandbox Code Playgroud)
而在这种情况下,它不是:
of(['click', 'tap'])
.pipe(
mergeMap(_ => Promise.resolve(_)),
tap(console.log) // Gets called once with ['click', 'tap']
)
.subscribe();
Run Code Online (Sandbox Code Playgroud) 我正在尝试用C编写一个小程序,但我一直试图增加一个int.
#include<stdio.h>
#include<string.h>
char * compress(char *input, int size){
char *inputCopy;
char compressedString[100];
snprintf(inputCopy, size, "%s", input);
int i = 0;
int counter;
int j;
while(i < size){
counter = 1;
j = i;
while (inputCopy[j] == inputCopy[j + 1] && j < size){
j++;
printf("same! \n");
counter++; // When this line is commented out it works.
}
if (i != j){
i = j;
}else{
i++;
}
}
return inputCopy;
}
main(){
char test[10] = "aaaaaaasdd";
printf("%s …Run Code Online (Sandbox Code Playgroud)