我正在使用angular2来构建一个使用HashLocationStrategy的Web应用程序。 一切都很好,直到我尝试将基于materializecss jquery的组件添加到我的模板中。
例如,此处是导航栏折叠按钮的示例
<a href="#" data-activates="nav-mobile" class="button-collapse">
<i class="material-icons">menu</i>
</a>
angular会将此视为路径路径,并将导航到主页
这个问题是否有任何工作轮次?
答案 0 :(得分:7)
正如你自己所说:materializecss是基于jquery的,即它需要jquery来激活动态行为。在您的情况下,您必须在页面的$(".button-collapse").sideNav();
代码中的某处添加$( document ).ready(function(){})
。
看看https://www.npmjs.com/package/angular2-materialize。这个lib将这种动态行为添加到angular2。导入&#39; MaterializeDirective&#39;在angular2组件中,您只需将materialize="sideNav"
添加到您的锚标记即可,它应该可以正常工作:
<a href="#" materialize="sideNav" data-activates="nav-mobile" class="button-collapse">
<i class="material-icons">menu</i>
</a>