Issue
Using a framework (materialize-css) it suggests me to put the following inside '$( document ).ready(function(){})' to get the responsive collapsible menu working:
$(".button-collapse").sideNav();
How would I do this in angular? I know that ngAfterContentInit is similar to '$( document ).ready(function(){})':
ngAfterContentInit(): void {
//What do I put here?
}
Below you can see a screenshot which shows the hamburger icon (that becomes visible only on mobile screen sizes):
Here's my html (app.component.html):
<nav>
<div class="nav-wrapper">
<a href="#!" class="brand-logo">Logo</a>
<a href="#" data-activates="mobile-demo" class="button-collapse"><i class="material-icons">menu</i></a>
<ul class="right hide-on-med-and-down">
<li><a href="sass.html">Sass</a></li>
<li><a href="badges.html">Components</a></li>
<li><a href="collapsible.html">Javascript</a></li>
<li><a href="mobile.html">Mobile</a></li>
</ul>
<ul class="side-nav" id="mobile-demo">
<li><a href="sass.html">Sass</a></li>
<li><a href="badges.html">Components</a></li>
<li><a href="collapsible.html">Javascript</a></li>
<li><a href="mobile.html">Mobile</a></li>
</ul>
</div>
</nav>
Solution
After some more research and trying out alternative tags on stackoverflow , I've found the perfect answer!
I have to make sure jquery is installed and angular-cli.json has the jquery node-module reference included at the very start !!
In my app.component.ts i had only to declare '$' as any.
Link to the answer: https://stackoverflow.com/a/42295505/7018180
Answered By - Jan Somers JanS91
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.