AngularJS Routing& jQuery冲突

时间:2015-07-20 03:49:10

标签: javascript jquery angularjs url-routing

大家。使用jQuery路由到新视图时是否有其他人遇到AngularJS控制台错误?

错误的一个例子是

Uncaught Error: Syntax error, unrecognized expression: #/projects/project-id

一切仍然有效,但只要点击了与我的Angular路由相关的链接,就会抛出该错误。该错误显示归因于jQuery,因此我认为这是一个问题,它不喜欢以" #/"

开头的链接

HTML

<div class="project" ng-repeat="project in projects">
    <a href="#/projects/{{project.id}}">
        <h4>{{ project.name }}</h4>
        <p>{{ project.subtitle }}</p>
    </a>
</div>

JS

app.config(function ($routeProvider) {
     $routeProvider
     .when('/', {
         controller: "HomeController",
         templateUrl: "js/angular/views/home-view.html"
     })
     .when('/projects/:projectId', {
         controller: 'ProjectController',
         templateUrl: 'js/angular/views/project-view.html',
     })
     .otherwise({
         redirectTo: '/'
     });
});

控制台错误不是showstoppper,因为正如我所说,一切仍然有效。但是,如果有人之前遇到过此问题并且已经解决了问题,我真的很感激。

1 个答案:

答案 0 :(得分:1)

将$ locationProvider设置为在HTML5模式下工作。请参见此处:https://docs.angularjs.org/api/ng/provider/ $ locationProvider

如何使用它的示例如下:

app.config(function ($locationProvider) {
  // use the HTML5 History API
  $locationProvider.html5Mode({
    enabled: true,
    requireBase: false
  });
});