大家。使用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,因为正如我所说,一切仍然有效。但是,如果有人之前遇到过此问题并且已经解决了问题,我真的很感激。
答案 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
});
});