如何绑定clockPicker值

时间:2017-06-22 04:34:11

标签: jquery angular typescript

因为我无法找到任何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}}

1 个答案:

答案 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;
    });
}