每当用户更改wj-input-time
的值时,我都会运行以下代码运行函数:
@Component({
selector: 'my-app',
template: '<wj-input-time [step]="1" (valueChanged)="test()"></wj-input-time>'
})
export class AppComponent {
test() {
console.log('test');
}
}
以上工作正常,但是当我向输入添加数据绑定时,在应用加载时会触发valueChanged
事件,并且当用户只是单击不是所需结果的输入时:
@Component({
selector: 'my-app',
template: '<wj-input-time [(value)]="testDate" [step]="1" (valueChanged)="test()"></wj-input-time>'
})
export class AppComponent {
testDate: Date = new Date();
test() {
console.log('test');
}
}
我花了很多时间阅读Wijmo的文档,但没有用。我错过了什么或做错了什么?
我正在使用Angular 2 final和Wijmo 5.20162.211 eval
这是一个显示问题的Plunker(查看控制台日志):http://plnkr.co/edit/RFo84NEUbypSWwPPu8Go?p=preview
答案 0 :(得分:1)
这是因为你构建的日期与第二个完全相同,但是小部件只是精确到分钟。因此,小部件在计算所需的其他值时会重写该变量 - 即单击箭头按钮时。
如果您构建的日期仅与给定分钟完全相同,则不再显示第二条日志消息。
@Component({
selector: 'my-app',
template: '<wj-input-time [(value)]="testDate" [step]="1" (valueChanged)="test()"></wj-input-time>'
})
export class AppComponent {
testDate: Date;
constructor() {
var d = new Date();
this.testDate = new Date(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes());
}
test() {
console.log('test');
}
}
请参阅已调整plnkr code。
答案 1 :(得分:0)
这绝对是一个错误。即使当我为bound属性提供“空”值时,小部件仍会触发valueChanged()事件。
如果输入为空,则没有任何更改。如果输入已“初始化”,则没有任何更改。
绝对是个错误。