我需要一些帮助,通过文本输入在类中设置变量,
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pageimage"></div>
有一个示例类,它修改变量,那么当我只想在输入发生变化时修改变量时,输入应该如何?
答案 0 :(得分:2)
在这种情况下你必须使用 ngOnChange 事件,如下所示。因此,只要输入变量myVar
值发生变化,它就会调用ngOnChanges
事件
@Input() myVar:any;
ngOnChanges(changes: any) {
if (changes.myVar != null && changes.myVar.currentValue != null) {
//your logic to update any variable or other....
}
}
答案 1 :(得分:1)
您可以使用双向数据绑定。
示例:
<input [(ngModel)]="property">
<p>{{property}}</p>
看看here。
如果要调用代码中的函数,请使用:
<input (input)="nameChange($event.target.value)">
答案 2 :(得分:1)
您可以使用setter拦截输入属性更改,请尝试以下操作:
// component:
@Component({
selector: 'my-component',
template: '<h3> My component </h3>'
})
export class MyComponent {
@Input()
set name(str: string) {
this.service.setName(str);
console.log(str);
}
}
//使用组件的HTML:
<my-component [name]="Bombasto"></my-component>