2017-06-16 102 views
1

我建立了一個項目angular2-materialize。網頁上的導航應該由HamburgerMenuComponent處理。角度材料2包含jquery代碼在組件不工作

於是我開始包括該邊欄:SideNav - Materialize

它工作正常,當我手動插入在瀏覽器的控制檯$(".button-collapse").sideNav();。 但我不知道如何將其包含到HamburgerMenuComponent

這是我試過到目前爲止,但它不工作:

import { Component, OnInit, AfterViewInit } from '@angular/core'; 
import * as $ from 'jquery'; 

@Component({ 
    selector: 'app-hamburger-menu', 
    templateUrl: './hamburger-menu.component.html', 
    styleUrls: ['./hamburger-menu.component.css'] 
}) 
export class HamburgerMenuComponent implements OnInit, AfterViewInit { 

    constructor() { } 

    ngOnInit() { 
    } 

    ngAfterViewInit() { 
    $(".button-collapse").sideNav(); 
    } 
} 

AppComponent.html:1 ERROR TypeError: WEBPACK_IMPORTED_MODULE_1_jquery(...).sideNav is not a function

+0

它是編譯錯誤還是瀏覽器控制檯錯誤? – trichetriche

+0

@trichetriche控制檯錯誤 –

回答

1

嘗試編輯您的​​(新角CLI使用lib.ts代替,但是是一樣的)然後重新編譯:

// jQuery 
declare let jQuery: any; 

// Dependencies 
window['jQuery'] = require('jquery'); 
window['$'] = window['jQuery']; 
import 'jquery-ui-npm/jquery-ui.min.js' 

而在你的組件廣告這一切後進口:

declare let $: any;