J'essaie de créer ma première application angular. Mais cela ne fonctionne pas du tout. Je n'ai aucune idée du problème. J'ai vérifié la console, mais il n'y a pas d'erros.
<head>
<meta charset="utf-8">
<script src="https://code.angularjs.org/1.6.0/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular-route.js"></script>
</head>
<body ng-app="myApp">
<h1>Test angular</h1>
<a href="#/">Main</a>
<a href="#sec">Second</a>
<a href="#th">Third</a>
<div ng-view></div>
</body>
<script>
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when("/", {
templateUrl : "main.html"
})
.when("/sec", {
templateUrl : "sec.html"
})
.when("/th", {
templateUrl : "th.html"
});
});
</script>
Quelqu'un peut-il m'aider?
Itinéraires dans Angular 1.6 changé de #/myUrl
à #!/myUrl
Vous devez changer votre référence en:
<a href="#!/">Main</a>
<a href="#!/sec">Second</a>
<a href="#!/th">Third</a>
Voir cette réponse si vous souhaitez supprimer ce préfixe.
Essayez d'ajouter $ locationProvider à votre script
app.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);
Essayez ce code ça marche
app.config(['$routeProvider','$locationProvider',function ($routeProvider,$locationProvider) {
$locationProvider.hashPrefix('');
$routeProvider
.when('/', {
templateUrl: 'index.html'
})
.when('/about', {
templateUrl: 'about.html'
})
.when('/service', {
templateUrl: 'service.html'
});}]);
J'ai découvert que vous n'avez pas inclus le $routeProvider
correctement, voici le code de routage qui fonctionne:
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when("/", {
templateUrl : "main.html"
})
.when("/sec", {
templateUrl : "sec.html"
})
.when("/th", {
templateUrl : "th.html"
});
}]);