【发布时间】:2015-01-02 08:29:29
【问题描述】:
更新 #2: 我已经实现了一个按钮和 UI Bootstrap,并且在没有 Angular Routing 接管的情况下使菜单正常运行,但是,在选择菜单项后我无法让菜单折叠并重新路由。
更新:根据建议,我已将上述侦听器更新为此(无效):
$('a:not([data-toggle="collapse"])').click(function (e) {
var url = $(e.currentTarget).attr('href') || '#';
if (!(url.charAt(0) == '#')) {
window.location.href = url;
}
});
这个应用程序的所有 Angular 代码似乎都在 js/compiled.min.js 中 - 如果有问题,肯定会从这里开始,对吧?
我从以前的开发人员那里继承了一些工作,其中有一些让我有点头疼的时髦代码。如果您在 Chrome 中访问 http://www.executionists.com/#/ 并将视口更改为移动设备,您会发现菜单无法像在较大视口中那样工作。
当您单击菜单按钮时,Angular 会尝试路由页面,这当然会导致 404。我一生都无法弄清楚它为什么要尝试路由以及如何防止它。我尝试过的事情。
以此处列出的方式使用 UI Bootstrap(在折叠部分下):http://angular-ui.github.io/bootstrap/
需要注意的一点是,我必须进行以下修复以修复另一个错误,即角度路由不允许浏览器历史记录运行。一个常见的问题,我发现了。但是,当我将修复程序、路由和历史记录功能按照整个站点的需要放置到位时,我怀疑这是我的移动友好型可折叠菜单错误的原因。修复:
// This is required for links to work properly with the browser history
$('[ng-app]').on('click', 'a', function() {
window.location.href = $(this).attr('href');
});
我不知道该怎么做,甚至不知道如何最好地诊断问题。
【问题讨论】:
标签: javascript jquery css angularjs twitter-bootstrap