2017-06-15 41 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和繁榮工作來設置我需要的元素。

希望它可以幫助別人。