角度路由不起作用,抛出页面未找到错误

时间:2016-10-27 20:02:29

标签: angularjs routes

index.html中的

<script src="lib/angular.min.js"></script>
<script src="lib/angular-route.min.js"></script>

控制器

angular.module("testCtrl",[]).controller('TestController', ["$scope", function($scope) {
    $scope.Myname = "my first route";
}]);

app.js

var app = angular.module('testApp',["ngRoute", "testCtrl"]);

app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
    $routeProvider

        .when("/",{
            templateUrl: "Views/main.html"
        })
        .when("/details",{
            templateUrl: "Views/details.html",
            controller : TestController
        })
        .otherwise({
            redirectTo : "/"
        });
}]);

我的主页加载正常但有一些原因/细节显示错误,如:找不到网址的网页:http://127.0.0.1:8080/details

我是棱角分明的新手,我正在学习。我无法理解什么是错的..我们有任何调试路由错误的工具吗?我现在正在使用1.5.8角版本。

服务器控制台 - “GET / details”错误(404):“未找到”

2 个答案:

答案 0 :(得分:3)

问题是app.js中没有定义TestController。您应该将控制器名称用作字符串,如此。

    .when("/details",{
        templateUrl: "Views/details.html",
        controller : "TestController"
    })

请参阅此插件以获取工作示例。 https://plnkr.co/edit/xi20MmchJY6TO1SG2o0d?p=preview

答案 1 :(得分:1)

我认为你已经省略了对ngRoute的依赖:

angular.module('testCtrl', ['ngRoute'])...

您是否也在HTML中引用了ng-app(无法看到您的HTML代码)

大概你也在HTML页面中包含了你的脚本?