大家。有其他人在使用 AngularJS
路由到新 View 时遇到 jQuery
控制台错误吗?
错误的示例是
未捕获错误:语法错误,无法识别的表达式:#/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: '/'
});
});
控制台错误并不是一个严重的问题,因为就像我说的,一切仍然有效。但如果有人以前遇到过这个问题并解决了,我将非常感激。
最佳答案
将 $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
});
});
关于javascript - AngularJS 路由和 jQuery 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508579/