2017-06-15 42 views
-1

我试过了我所能做的一切,最后用jquery解决了我的情况。但是,我无法让jquery在我的Angular 4项目上工作。jquery的角4项目不能正常工作

  • jQuery在我的index.html中通过CDN(缩小版和未压缩版)加载。
  • $和jQuery变量都在组件中声明,正好在输入下面,就像输入any一样。
  • ngOnInit和ngAfterViewInit我试图改变一个元素的背景颜色只是为了检查它的工作,但元素仍然存在,没有改变。
  • 这没有控制台错误。
  • 如果我转到浏览器控制台并运行jQuery方法来更改颜色,它工作得很好。

所以,这里是我如何改变这个元素的颜色,这最终导致我仍然不能在我的Angular 4项目中使用jQuery。

jQuery(this.eleRef.nativeElement).find("#xyz").css("background", "blue"); 
jQuery("#xyz").css("background", "blue"); 
$(this.eleRef.nativeElement).find("#xyz").css("background", "blue"); 
$("#xyz").css("background", "blue"); 

有什么想法?

+0

你不应该在Angular中使用jQuery。 你有这个代码吗?和'this'取决于你使用的位置 –

+0

你是对的,我不应该。但是没有体面的范围滑块与Angular 4完全兼容,我需要实现一个使用jQuery的滑块。 – guarinex

回答

0

我不知道这是一个角错误还是其他的东西。但是,顾名思义,ngAfterViewInit应该有适当的设置来处理dom元素,但是,如果您不使用纯JavaScript,情况并非如此。

为了解决这个问题,我创建了一个控件,它只在ngAfterViewChecked上执行一次,以便使用JQuery和繁荣工作来设置我需要的元素。

希望它可以帮助别人。