Wijmo 的 valueChanged 事件 + Angular 上的数据绑定问题 2
Issue with Wijmo's valueChanged event + data binding on Angular 2
我有以下代码,每当用户更改 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
这里还有截图:
这是因为您构造的日期是精确到秒的,而小部件只精确到分钟。因此,一旦计算出它需要的其他值,小部件就会重写变量 - 即当您单击箭头按钮时。
如果您构建的日期仅精确到给定分钟,则第二条日志消息将不再出现。
@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。
这绝对是一个错误。即使我向绑定 属性 提供 "null" 值,小部件仍会触发 valueChanged() 事件。
如果输入为空,则无需更改。如果输入是 "initialized",则没有任何变化。
绝对是一个错误。
我有以下代码,每当用户更改 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
这里还有截图:
这是因为您构造的日期是精确到秒的,而小部件只精确到分钟。因此,一旦计算出它需要的其他值,小部件就会重写变量 - 即当您单击箭头按钮时。
如果您构建的日期仅精确到给定分钟,则第二条日志消息将不再出现。
@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。
这绝对是一个错误。即使我向绑定 属性 提供 "null" 值,小部件仍会触发 valueChanged() 事件。
如果输入为空,则无需更改。如果输入是 "initialized",则没有任何变化。
绝对是一个错误。