jQuery语法错误,使用Angular,Angular UI-Router和Materialise Together

时间:2016-10-06 17:55:23

标签: jquery angular angular-ui-router materialize angular2-materialize

我在这个项目中使用了几个库。抱怨的是jQuery。我不确定jQuery实际上是这里的罪魁祸首。我已经尝试了几种不同的方法来获得理想的结果,并且我最终得到的解决方案导致错误最少并且仍能正常运行。好的,所以我使用jQuery,Materialize,Angular,Angular UI-Router和Angular Materialize。我定义了几个路由,也有嵌套视图。所以,代码:

<ul tabs>
  <li class="tab"><a href="#/one" ui-sref="one" ui-sref-active="active">One</a></li>
  <li class="tab"><a href="#/two" ui-sref="two" ui-sref-active="active">Two</a></li>
  <li class="tab"><a href="#/three" ui-sref="three" ui-sref-active="active">Three</a></li>
</ul>

因此,通过将href="#/one"ui-sref="one"组合在锚元素上,此方法可以正常运行,但仍会在初始应用程序加载时产生错误。 Uncaught Error: Syntax error, unrecognized expression: #/one

几乎所有此错误的搜索结果都与字符串和引号的格式有关。这让我相信它与其中一个库有关。最有可能是Materialise或UI-Router。也许两者在一起。

这是一个重现问题的小提琴 - https://jsfiddle.net/whatisthebigpicture/9uudedvx/ - 脚本是用HTML加载的,因为外部脚本面板无法正常工作。在JSFiddle上重现同样的问题是一个挑战,但我确信如果它可以在Fiddle中解决,那么我可以将它应用到我的应用程序。

有没有人有使用这些库的经验?我能做些什么来摆脱错误,还是由图书馆开发人员来做?

1 个答案:

答案 0 :(得分:1)

使用data-href="#/one"代替普通的href="#/one"。工作小提琴 - https://jsfiddle.net/whatisthebigpicture/rj08fosn/

https://github.com/Dogfalo/materialize/issues/2848