AngularJS: ngRoute não está servindo a página inicial desejada
Não sei por que minha raiz (página inicial) não está sendo encaminhada / exibida corretamente.
Aqui está a minha configuração de diretório de arquivos de projeto do ASP.Net Core:
Aqui está o meuMapRoute
declarado emStartup.cs
:
app.UseMvc(config =>
{
config.MapRoute(
name: "Default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "App", action = "Index" }
);
});
No meuAppController.cs
(controlador padrão):
public IActionResult Index()
{
return View();
}
Aqui está o meuViews -> App -> Index.cshtml
:
@{
ViewBag.Title = "Home Page";
}
<div>
<h3>Application Home Page</h3>
</div>
Aqui está o meuViews -> 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>
Aqui está o meuapp.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"
});
});
Aqui estáindex.html
localizado emwwwroot
:
<h3>The Home Page</h3>
<p>Home Page paragraph text.</p>
Quando construído / renderizado:
Aqui está o resultado quando inicio no Chrome:
E aqui está o que mostra quando euview 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>
Estranhamente, se eu selecionarInspect Element
para o texto "Mover no aplicativo" na página "home", eis o que vejo:
Está inserindo um título e uma meta tag dentro do corpo.
Só para ficar claro - Eu esperava que a página inicial fosse exatamente o queindex.html
tem dentro dele.
Se alguém tiver uma pista, ajude. Seria ótimo obter o conteúdo adequado deindex.html
para mostrar na página inicial.