因为我无法找到任何angular4 clockpickers,所以我决定使用jQuery,但是我不能将所选时间绑定到变量,我需要这样,所以我可以在我的打字稿组件上操作它们。这是我的代码
console.log(this.value)
确实向我显示了所选的值,但我无法将其分配给我声明的变量。
组件:
ngAfterViewInit() {
jQuery("#timePicker").clockpicker({ placement: 'bottom', donetext: 'Done', autoclose: true, vibrate: true, })
.find('input').change(function (a) {
console.log(a);
console.log(this.value)
});
}
HTML:
<div class="timeHolder"
id="timePicker"
data-placement="right"
data-align="top"
data-autoclose="true">
<input type="text"
[(ngModel)]="setTime"
(input)="valuechange($event)" />
{{setTime}}
答案 0 :(得分:0)
使用function关键字定义函数时,会更改this
的值。因此,与推荐的@ developer033一样,您应该使用不会更改this
值的箭头函数。您应该使用以下代码:
ngAfterViewInit() {
jQuery("#timePicker").clockpicker({ placement: 'bottom', donetext: 'Done', autoclose: true, vibrate: true, })
.find('input').change((e) => {
console.log(e);
console.log(e.currentTarget.value);
// use that to access angular variables
this.setTime = e.currentTarget.value;
});
}