javascript – Angular2与Jquery-ui Slider

前端之家收集整理的这篇文章主要介绍了javascript – Angular2与Jquery-ui Slider前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试使用带有angular2的 Jquery-ui滑块.我想让变量“slideValue”显示滑块的值,但我无法弄清楚如何将我的模型或变量从角度绑定到滑块.这是我的滑块组件:
  1. import {Component,ElementRef,Inject,OnInit} from 'angular2/core';
  2.  
  3. declare var jQuery:any;
  4.  
  5. @Component({
  6. selector: 'slider',template:
  7. `
  8. <input type="text" [(ngModel)]="slideValue" id="amount" required placeholder="Enter a name here">
  9. <div id="slider"></div>
  10. <h2>slideValue = {{slideValue}}</h2>
  11. `
  12. })
  13.  
  14. export class Slider implements OnInit {
  15. elementRef: ElementRef;
  16. slideValue: number;
  17.  
  18. constructor(@Inject(ElementRef) elementRef: ElementRef) {
  19. this.elementRef = elementRef;
  20. }
  21.  
  22. ngOnInit() {
  23. jQuery(this.elementRef.nativeElement).find("#slider").slider({
  24. range: false,orientation: "vertical",min: 0,max: 100,value: 60,slide: function( event,ui ) {
  25. this.slideValue = ui.value; //doesn't seem to work
  26. $( "#amount" ).val( ui.value );
  27. }
  28. });
  29.  
  30. }
  31. }

代码可在此处获得:

https://github.com/nerg/slider

我希望能够使用Angular2的任何“垂直滑块”,所以如果存在另一个可行的解决方案,我很感兴趣(我已经检查了材料,但似乎没有“angular2”准备好,只有水平滑块) .

解决方法

您需要在幻灯片回调中使用正确的上下文(this).在这种情况下,箭头功能可以解决问题:
  1. @Component({
  2. selector: 'slider',template: `
  3. <input type="text" [(ngModel)]="slideValue" class="amount" required placeholder="Enter a name here">
  4. <div class="slider"></div>
  5. <h2>slideValue = {{slideValue}}</h2>
  6. `
  7. })
  8. export class Slider implements OnInit {
  9. elementRef: ElementRef;
  10. slideValue: number;
  11.  
  12. constructor(@Inject(ElementRef) elementRef: ElementRef) {
  13. this.elementRef = elementRef;
  14. }
  15.  
  16. ngOnInit() {
  17. var $amount = jQuery(this.elementRef.nativeElement).find(".amount");
  18. jQuery(this.elementRef.nativeElement).find(".slider").slider({
  19. range: false,slide: (event,ui) => {
  20. this.slideValue = ui.value;
  21. $amount.val(ui.value);
  22. }
  23. });
  24. }
  25. }

猜你在找的jQuery相关文章