角度材料2包含jquery代码在组件不工作
问题描述:
我建立了一个项目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
答
尝试编辑您的(新角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;
它是编译错误还是浏览器控制台错误? – trichetriche
@trichetriche控制台错误 –