$routeProvider 在第一次通过时错过了所有情况

$routeProvider misses all cases on first pass

我是 angular 的新手,我的路线有问题。我正在使用 .NET MVC 创建一个 angular SPA,虽然视图确实呈现,但我注意到我在页面上有 2 个页脚(让我猜测布局页面被呈现了两次,但正文只加载了一个时间)。我还设置了一些日志记录以查看正在发生的事情,据我所知,它总是第一次错过 "when" 个案例,但第二次抓住它们。下面是我的配置

angular.module("myApp")
    .config(["$routeProvider", function ($routeProvider) {
        $routeProvider
            .when("/", {
                templateUrl: "Home/Home",
                controller: "HomeController",
                message: function () { console.log("hit /") }()
            })
            .when("/login", {
                templateUrl: "Home/Login",
                controller: "LoginFormController",
                message: function () { console.log("hit /login") }()
            })
            .otherwise({
                message:function(){console.log("users think anything else will work")}(),
                redirectTo:"/"
            });
    }]);

这是我点击 http://localhost:54865/

时的控制台输出
hit /
hit /login
users think anything else will work
jquery-1.10.2.js:8686 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
VM1423:30269 WARNING: Tried to load angular more than once.

如能在正确的方向上解决此问题,我们将不胜感激

编辑

我正在使用默认 MVC 路由,我有一个 'Home' 控制器,其中包含 'Index'、'Home' 和 'Login' 的方法和视图。索引视图只有

 <div ng-view></div>

'Home' 视图具有使用 MVC(超大屏幕、入门等)创建 Web 应用程序时 visual studio 提供的默认内容,登录屏幕是我的登录屏幕。

这是我的布局文件的正文

<body ng-app="myApp">

<div class="container body-content">
    @RenderBody()
    <hr />
    <footer>
        <p>&copy; @DateTime.Now.Year - My ASP.NET Application</p>
    </footer>
</div>

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/angular")
@RenderSection("scripts", required: false)
</body>

好的,看来我对日志记录感到困惑。事实证明它并没有击中所有人。问题是布局页面被渲染了两次。我的索引页面会加载一次,然后在@RenderBody 中我有我的 ng-view,它会为整个视图提供服务,包括布局文件的新副本。我能够通过在我的 Home 控制器上返回部分视图来摆脱这个问题。