Ошибка Angularjs: [$ location: nobase]
y попробуйте создать простую сеть с angular
Проект asp.net mvc 5
У меня есть js
var app = angular.module("app", ["ngRoute"])
.config(function ($routeProvider, $locationProvider) {
$routeProvider.when('/', {
templateUrl: '/AngularJS/Templates/inicio.html',
controller: 'bienvenidoController'
});
$locationProvider.html5Mode(true);
});
и это:
app.controller("bienvenidoController", function ($scope) {
});
Вид:
Компоновка:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My ASP.NET Application</title>
</head>
<body ng-app="app">
@RenderBody()
<!--Librerias Angular-->
<script src="~/Scripts/angular.min.js"></script>
<script src="~/Scripts/angular-route.min.js"></script>
<!---Librerias App-->
<script src="~/AngularJS/RegistrationModule.js"></script>
<script src="~/AngularJS/bienvenidoController.js"></script>
</body>
</html>
индекс:
<div ng-view>
</div>
и
<h1>Hola Mundo!</h1>
Ошибка:
Ошибка: [$ location: nobase]
ошибка в firebug mozilla
Ответы
Ответ 1
Как указано в документации AngularJs
Если вы настроите $location для использования html5Mode (history.pushState), вам нужно указать базовый URL-адрес приложения с тегом или настроить $locationProvider, чтобы не требовать базовый тег, передав объект определения с requireBase: false для $locationProvider.html5Mode()
https://docs.angularjs.org/error/$location/nobase
Вам не хватает <base href="/">
в документе или вы можете отключить проверку, установив
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
Ответ 2
Просто добавьте <base href="/">
в раздел <head>
документа HTML и его.
<head>
<base href="/">
...
</head>
https://docs.angularjs.org/error/ $location/nobase