comment puis-je changer le chemin sans recharger la page?Le mode html5 est la page de rechargement angulaire js
Sans le mode html5, cela fonctionne très bien. J'utilise le mode html5, avec une balise "a" ça marche bien mais par ng-clic ça recharge la page. dans le contrôleur j'utilise $window.location.href
pour changer le chemin, côté serveur j'utilise le noeud js. Je suis à la recherche de solution pour quelques jours mais pas eu de succès. aidez-moi s'il vous plaît.
index.html
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<base href="/" />
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js">
</script>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-
route.js"></script>
</head>
<body>
<div ng-view></div>
<script src="myapp.js"></script>
<script src="myctrl.js"></script>
</body>
</html>
myapp.js
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when("/", {
templateUrl : "pages/main.htm",
controller: 'myCtrl'
})
.when("/items", {
templateUrl : "pages/items.htm",
controller: 'myCtrl'
})
.otherwise({
template : "<h1>Nothing</h1><p>Nothing has been selected</p>"
});
});
myctrl.js
app.controller('myCtrl', ['$scope','$window',function($scope,$window) {
$scope.myFunc = function() {
$window.location.href="/items"
};
$scope.homePage = function() {
$window.location.href="/"
};
}]);
server.js
var express = require('express');
var app = express();
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(express.static(__dirname + "/"));
app.listen(3000,()=>{
console.log(`server is up on port ${3000}`);
app.get('/items', function(req, res){
res.sendFile(__dirname + '/index.html');
});
});
Utiliser 'location.path de $ ('pathHere')' à la place. –
vous avez résolu mon problème bro merci beaucoup, je devais fou. –