简单的 AngularJS 路由无法正常工作

The*_*lla 2 routing angularjs

出于某种原因,我似乎无法路由到add屏幕。我究竟做错了什么?这是我的app.js

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

moviesApp.config(function($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl: 'partials/home.html',
            controller: 'MoviesController'
        })
        .when('/add', {
            templateUrl: 'partials/add.html',
            controller: 'MoviesController'
        })
        .when('/edit', {
            templateUrl: 'partials/edit.html',
            controller: 'MoviesController'
        });
});
Run Code Online (Sandbox Code Playgroud)

这是锚标签:

<a href="#add">Add Movie</a>
Run Code Online (Sandbox Code Playgroud)

它包含在我的home.html模板中,它是index.html.

该应用程序不会崩溃...它只是不执行任何操作。

对我做错了什么有任何想法吗?

And*_*ard 5

这可能是因为 angularjs 版本 1.6 中默认哈希前缀的更改。你在给定的上下文中所写的作品:证明

您可以通过更改以下内容来确认是这种情况:

<a href="#add">Add Movie</a>
Run Code Online (Sandbox Code Playgroud)

到:

<a href="#!add">Add Movie</a>
Run Code Online (Sandbox Code Playgroud)

如果它有效,请查看以下可能的解决方案:

AngularJS:ngRoute 不工作

如果你想让 i 表现得像你期望的那样(1.5 版),你可以从链接中选择 soultion 3:

3. 回到 1.5 的旧行为 - 手动设置哈希前缀

app.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]); 
Run Code Online (Sandbox Code Playgroud)