[英]Angular 6 ngModel didn't change value in appcomponent
我现在正在练习角度和打字稿,面临一些简单的问题。
这是我的component.html
<div>
<input [(ngModel)]="mynumber">
N is now {{N}}
// some content I want to do with functions with changing mynumber
</div>
还有我的component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {
mynumber = '1';
N = this.mynumber;
// some function with mynumber
}
问题是,“ N现在是#”应该实时更改我键入的内容。 但是更改似乎从未传递给AppComponent。 N最初保留为1。 当我键入内容时,如何更改mynumber
值,并且更改也会影响函数?
行执行期间
N = this.mynumber;
N被分配了this.mynumber
的当前值,即1。更改mynumber
时,其值不会自动更新。 您可以a)放弃冗余属性N
并仅使用mynumber
,或者b)每次更新mynumber
都对其进行更新N
将N
的值初始化为mynumber
它只会发生一次,并且不会反映对mynumber
值的新更改。
要使其工作,您可以对ngModelChange
进行事件绑定,并破坏[[x)]语法,并在组件中触发一个方法,该方法将在mynumber
更改时更新N
的值:
<input [ngModel]="mynumber" (ngModelChange)="valuechange($event)">
N is now {{N}}
并在组件中,在触发方法时更新N
:
valuechange(value){
this.N = value;
}
尽管这种方法是多余的,并且您可以简单地在模板表达式中使用mynumber
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.