我使用angular2-materialize设置了一个项目。网页上的导航应由HamburgerMenuComponent
处理。
所以我开始包含这个侧边栏: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不是函数
答案 0 :(得分:1)
尝试修改vendor.ts
(较新的Angular-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;