I have an Angular App Component generated via the CLI (Angular 4).
I've brought in jQuery + Bootstrap like so:
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
"scripts": ["../node_modules/jquery/dist/jquery.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js"
],
My App Component looks like so:
import { Component, AfterViewInit } from '@angular/core';
import * as $ from 'jquery';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: [
'./app.component.css']
})
export class AppComponent implements AfterViewInit {
title = 'app';
constructor() { }
ngAfterViewInit() {
$('.nav a').click(function () {
$('.navbar-collapse').collapse('hide');
});
}
}
Receiving the following error:
ERROR TypeError: __WEBPACK_IMPORTED_MODULE_1_jquery__(...).collapse is not a function
Is Bootstrap not being imported properly? I've tried adding the following to the top of my component:
import 'bootstrap/dist/js/bootstrap.js';
EDIT:
One thing I've noticed. When running in the browser if I execute the following line through the Chrome Console it works without issue:
$('.navbar-collapse').collapse('hide');
What would be the difference here? I must be missing something.