I posted a solution that works with Aurelia here: https://stackoverflow.com/a/41465905/6466378
The problem is you can not just add data-toggle="collapse"
and data-target="#navbar"
to your a elements. And jQuery does not work wenn in an Aurelia or Angular environment.
The best solution for me was to create a custom attribute that listens to the corresponding media query and adds in the data-toggle="collapse"
attribute if desired:
<a href="#" ... collapse-toggle-if-less768 data-target="#navbar"> ...
The custom attribute with Aurelia looks like this:
import {autoinject} from 'aurelia-framework';_x000D_
_x000D_
@autoinject_x000D_
export class CollapseToggleIfLess768CustomAttribute {_x000D_
element: Element;_x000D_
_x000D_
constructor(element: Element) {_x000D_
this.element = element;_x000D_
var mql = window.matchMedia("(min-width: 768px)");_x000D_
mql.addListener((mediaQueryList: MediaQueryList) => this.handleMediaChange(mediaQueryList));_x000D_
this.handleMediaChange(mql);_x000D_
}_x000D_
_x000D_
handleMediaChange(mediaQueryList: MediaQueryList) {_x000D_
if (mediaQueryList.matches) {_x000D_
var dataToggle = this.element.attributes.getNamedItem("data-toggle");_x000D_
if (dataToggle) {_x000D_
this.element.attributes.removeNamedItem("data-toggle");_x000D_
}_x000D_
} else {_x000D_
var dataToggle = this.element.attributes.getNamedItem("data-toggle");_x000D_
if (!dataToggle) {_x000D_
var dataToggle = document.createAttribute("data-toggle");_x000D_
dataToggle.value = "collapse";_x000D_
this.element.attributes.setNamedItem(dataToggle);_x000D_
}_x000D_
}_x000D_
}_x000D_
}
_x000D_