AngularJS:ngRoute无法提供所需的主页

时间:2017-05-03 15:28:14

标签: angularjs routing asp.net-core ngroute

我不知道为什么我的root(主页)没有正确路由/显示。

这是我的ASP.Net核心项目文件目录设置:

ASP.Net Core Project File Structure

这是我在MapRoute声明的Startup.cs

app.UseMvc(config =>
{
    config.MapRoute(
        name: "Default",
        template: "{controller}/{action}/{id?}",
        defaults: new { controller = "App", action = "Index" }
    );
});

在我的AppController.cs(默认控制器)中:

public IActionResult Index()
{
    return View();
}

这是我的Views -> App -> Index.cshtml

@{ 
    ViewBag.Title = "Home Page";
}
<div>
    <h3>Application Home Page</h3>
</div>

这是我的Views -> Shared -> _Layout.cshtml

<!DOCTYPE html>
<html ng-app="moveinScheduler">
<head>
    <meta charset="utf-8" />
    <base href="/">
    <title>@ViewBag.Title</title>
    <script src="~/lib/angular/angular.min.js"></script>
    <script src="~/lib/angular-route/angular-route.min.js"></script>
    <script src="~/js/app.js"></script>
    <script src="~/js/loginController.js"></script>
</head>
<body ng-view>
    <div>
        @RenderBody()
    </div>
</body>
</html>

这是我的app.js

var app = angular.module('moveinScheduler', ['ngRoute'])
    .config(function ($routeProvider, $locationProvider) {

        $routeProvider.when("/", {
            controller: "loginController",
            controllerAs: "vm",
            templateUrl: "index.html"
        });

        $routeProvider.otherwise({
            controller: "loginController",
            controllerAs: "vm",
            templateUrl: "/views/login.html"
        });

    });

此处index.html位于wwwroot

<h3>The Home Page</h3>
<p>Home Page paragraph text.</p>

构建/渲染时:

以下是我在Chrome中启动时的结果:

Rendered View

这是我view page source时的显示内容:

<!DOCTYPE html>
<html ng-app="moveinScheduler">
<head>
    <meta charset="utf-8" />
    <!-- Rest of the head shown above -->
</head>
<body ng-view>
    <div>
        <div>
    <h3>Application Home Page</h3>
</div>
    </div>
</body>
</html>

奇怪的是,如果我选择Inspect Element作为文本&#34; Move In Application&#34;在&#34;家庭&#34;页面,这里是我看到的:

Inspect element error

它在身体内插入标题和元标记。

为了清楚 - 我希望主页正好是index.html里面的内容。

如果有人有线索,请帮忙。能够从index.html获取正确的内容以便在主页上显示,这非常棒。

0 个答案:

没有答案