首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问ngOnChanges字段?

如何访问ngOnChanges字段?
EN

Stack Overflow用户
提问于 2018-07-18 21:06:11
回答 3查看 1.3K关注 0票数 0

我的HTML看起来像这样:

代码语言:javascript
复制
<input type="number" class="form-control" id="khatianNumber" required [(ngModel)]="big.khatianNumberP1" name="khatianNumber" #khatianNumber="ngModel">

<p id="parapart" align="center">/</p>

<input type="number" class="form-control" id="khatianNumber2" required [(ngModel)]="big.khatianNumberP2" name="khatianNumber2" #khatianNumber1="ngModel">

我的角度看起来像这样,

代码语言:javascript
复制
export class RegistrationComponent implements OnInit,OnChanges {
isRequesting = false;
steps = [];
model = {
  khatianNumber: '',
};

big = {
  khatianNumberP1: '',
  khatianNumberP2: '',
}
ngOnChanges(changes: SimpleChanges){
    if (changes['big.plotNumberP1']){
        alert("hi");
    }
}
}

我从来没有像这样使用过angular,我通常不得不使用作用域和控制器。

谁能告诉我我做错了什么?是我的HTML有问题,还是我使用的模型有误?我是Angular的新手,如果有人能澄清这个疑问,我将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2018-07-18 21:13:37

嗨,你能试一试吗,

如果下面的一个不起作用意味着尝试将您的表单模板驱动更改为模型驱动的表单(反应式表单)

下面是我使用的反应形式,它为我工作

代码语言:javascript
复制
ngOnChanges(changes: {[propKey: string]: SimpleChange})
    {
        if(changes.hasOwnProperty('big.khatianNumberP1')){}
}
票数 0
EN

Stack Overflow用户

发布于 2018-07-18 21:19:41

ngOnChanges用于从父组件传递给子组件的数据。为了捕获模型更改,您需要使用事件侦听器,它是ngModelChange,或者,如果您有基本的表单,则基本上可以使用change侦听器。有关它们之间的区别以及如何使用两者的详细信息,请参阅这篇文章:(change) vs (ngModelChange) in angular

票数 0
EN

Stack Overflow用户

发布于 2018-07-18 21:26:29

如果要在表单元素发生更改时运行操作,最好将[(ngModel)]="big.khatianNumberP1"分为[ngModel]="big.khatianNumberP1"(ngModelChange)="numberP1Changed()"

然后,在您的组件代码中,您可以拥有一个处理程序,它可以执行您需要的任何操作:

代码语言:javascript
复制
export class RegistrationComponent {
    isRequesting = false;
    steps = [];
    model = {
        khatianNumber: '',
    };
    big = {
        khatianNumberP1: '',
        khatianNumberP2: '',
    }

    numberP1Changed() {
       alert("hi - new value - " + this.big.khatianNumberP1);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51402811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档