<md-card-title *ngIf="!edit">{{card.title}}</md-card-title>
<input *ngIf="edit" type="text" [(ngModel)]="card.title" (ngModelChange)='rename()'/>
js prettyprint-override">newTitle: string;
modelChanged: Subject < string > = new Subject < string > ();
constructor()
this.modelChanged
.debounceTime(500) //before emitting last event
.distinctUntilChanged()
.subscribe(model => this.newTitle = model);
}
rename(): void {
this.renameRequest.emit(this.newTitle);
}
嗯,有很多方法可以实现这一点,但这里有一个方法:
<input *ngIf="edit" type="text" #input="ngModel" [(ngModel)]="card.title" (ngModelChange)='rename()'/>
在你的班级里
newTitle : string;
@ViewChild('input') input;
constructor()
}
ngAfterViewInit(){
this.input.valueChanges
.pipe(debounceTime(500)) before emitting last event
.pipe(distinctUntilChanged())
.subscribe(model => (value)=>{
console.log('delayed key press value',value);
this.rename(value)
});
}
rename(value): void {
this.renameRequest.emit(value);
}
这是柱塞
ngAfterViewInit(){
this.input.update // this is (modelChange)
.pipe(debounceTime(500)) before emitting last event
.pipe(distinctUntilChanged())
.subscribe(model => (value)=>{
console.log('delayed key press value',value);
});
}
组件如下: 以下是规范: 我肯定我错过了一些基本的/简单的东西,但我花了过去一天的时间梳理了所有我能找到的东西,没有运气。
组件: 表单: 该函数更新一个JSON记录。例如,它用“fname”ng model更新“firstName:”条目。问题是,除非用户修改输入的值,否则ngModel被读取为null,即使已经存在< code > value = " { { current user . first name } } " 的值。 如何设置 ngModel 以从实际输入的值其值?
问题 你想只执行某个函数一次,在开始或结束时把多个连续的调用合并成一个简单的操作。 解决方案 使用一个命名函数: debounce: (func, threshold, execAsap) -> timeout = null (args...) -> obj = this delayed = -> func.apply(obj, args) unless exe
问题内容: 我正在制作动态表格。一个有值的列表。每个值由一个字符串表示。 我的组件中有一个函数,可以向该字段添加新值。 值和按钮在我的HTML中这样显示。 一旦我在值的输入中写入一些文本,输入就会失去焦点。如果我在一个字段中添加了多个值,并且在一个输入值中写入了一个字符,则该输入将失去焦点,并且该字符将写入每个输入中。 问题答案: 当数组是原始类型(在您的情况下是数组)时,会发生这种情况。这可以通
我正在尝试从我的数据库中获取第三方(潜在的不安全的)html内容,并将其插入到我的html文档中。 如何安全地做到这一点(针对XSS的保护)? 在Angular1.x中,以前有来清理输入,在Angular2中如何做到这一点?据我理解,Angular2默认情况下自动对其进行消毒,是这样吗? 像这样的东西是行不通的: