javascript - 停止 ng-view 内的 Angular 路由链接

标签 javascript jquery html angularjs

我正在使用 Angular JS 动态加载内容,如下所示:

HTML

  ...

  <div ng-controller="MainController">
    <div ng-view></div>
  </div>

</html>

Angular

(function(){

  var app = angular.module('app', ['ngRoute', 'ngAnimate']);

  app.config(function($routeProvider) {

    $routeProvider.when('/test', {
      templateUrl : 'views/test.html',
      controller  : 'MainController'
    });

  });

  app.controller('MainController', function($scope){ });

})();

这按预期工作。但是,在文件 test.html 中,我有一些带有 href="#" 的链接,需要使用 javascript 进行处理才能执行各种操作。目前,Angular 正在使用其路由方法来解释它们,并将它们视为主页的链接。我该如何阻止这种情况并按照我想要的方式处理链接?

示例 test.html 内容:

<a href="#" class="slideLeft">Left</a>
<a href="#" class="slideRight">Right</a>
<p>Test content</p>

在与 Angular 分开的 JS 文件中,我尝试过:

$('.slideLeft').on('click',function(){
  return false;
});

但它不会返回 false,它使用 Angular 路由。

最佳答案

您应该对所有绑定(bind)(包括事件绑定(bind))使用 Angular。不要使用.on('click') ,使用ng-click (或者 .bind 如果您确实需要它,但您可能不需要)。

您还可以从文档中看到 <a> directive does nothing if href is empty 。使用href=""而不是href="#"

关于javascript - 停止 ng-view 内的 Angular 路由链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25204647/

相关文章:

javascript - 如何在悬停时在链接旁边添加弹出菜单?

javascript - 无法读取jquery中未定义的属性 'join'

python - 使用 Python/BeautifulSoup 抓取网站——为什么此表不返回任何内容?

jquery - BxSlider Carousel 垂直箭头垂直也是

java - J2EE认证后如何重定向Web表单认证

javascript - Nodeschool 的 Stream-Adventure #12 Duplexer redux

javascript - 如何将html页面导出到ms.带有外部 CSS 的单词 (.doc)?

Javascript 通过它的属性检索元素

asp.net - jQuery 与 DotNetNuke 一起使用时出现问题

jquery - 页面响应时隐藏 Bootstrap 下拉菜单