(更改)或(ngModelChange)没有使用隐藏字段?

时间:2018-03-02 07:23:46

标签: angular

我在void A::init() { WorkerThread *Thread = new WorkerThread(this); } void B::slotClose() { A *obj = getObj(); if(obj) { m_pScene->removeItem(obj); obj->deleteLater(); // this calls thread distructor also but thread execution is not stopping } } 中有一个查找组件,在选择值后更新了隐藏的AngularJS 4。我尝试添加id(onModelChange)事件处理程序,以便在隐藏字段更新但无法正常工作时获取更改事件。

这是我的HTML:

(change)

我不确定是否会在隐藏字段上调用更改事件。

4 个答案:

答案 0 :(得分:0)

我会做的角度

<input type="hidden" [(ngModel)]="claimsReports.DealerId" 
   name="dealerId" (change)="saveParam($event)" />

function saveParam(input){
   this.claimsReports.DealerId = input.target.value;
}

答案 1 :(得分:0)

Angular中确实不需要隐藏字段。而是在组件中定义属性。

如果您需要在其他内容更改该属性时执行代码,请使用getter和setter,如下所示。

private _dealerId: number;
get dealerId(): number {
   return this._dealerId;
}
set dealerId(value: number) {
   this._dealerId = value;
   saveParam(value);
}

每次值改变时,setter都会执行。

答案 2 :(得分:0)

试试这个

模板中的

<input type="hidden" [(ngModel)]="claimsReports.DealerId" 
   name="dealerId" (change)="saveParam($event.target.value)" />

在component.ts

saveParam(DealerId){
   let DealerId = DealerId
}

答案 3 :(得分:0)

代替type="hidden"使用style="display: none;"

角度事件将正常进行。