我现在正在练习角度和打字稿,并遇到一些简单的问题。
这是我的 component.html
SELECT t.entityId,
(SELECT SUM(CASE WHEN t2.currency <> 'GBP' THEN t2.amount/er.exchange_rate ELSE t.amount END)j
SUM(t2.gbp) AS amount
FROM transactionsV2 t2 JOIN
total_control.exchange_rates er
ON t.currency = er.currency
WHERE t2.uniqueid = t.uniqueid
FROM transactionsV2 t
WHERE t.paymentType IN ('DB', '3D') AND
t.processing_time >= '2019-04-01' AND
t.processing_time < '2019-04-21' AND
t.status = 1;
和我的 component.ts
<div>
<input [(ngModel)]="mynumber">
N is now {{N}}
// some content I want to do with functions with changing mynumber
</div>
问题是,“ N现在是#”应该实时更改我键入的内容。但是更改似乎从未传递给AppComponent。 N最初保留为1。键入时,如何更改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
}
的值,更改也会影响函数?
答案 0 :(得分:1)
行执行期间
N = this.mynumber;
为 N分配了this.mynumber
的 current 值,即1。更改mynumber
时,该值不会自动更新。您可以a)放弃冗余属性N
并仅使用mynumber
,或b)每次更新N
时更新mynumber
。
答案 1 :(得分:1)
将N
的值初始化为mynumber
时,它只会发生一次,并且不会反映出对mynumber
值的新更改。
要使其工作,您可以将事件绑定到ngModelChange
并分解[[x)]语法并触发组件中的方法,该方法将在更改N
时更新值mynumber
:
<input [ngModel]="mynumber" (ngModelChange)="valuechange($event)">
N is now {{N}}
并且在组件中,在触发方法时更新N
:
valuechange(value){
this.N = value;
}
尽管这种方法是多余的,并且您可以在模板表达式中简单地使用mynumber
。