slevinkelevra Δημοσ. 11 Αυγούστου 2015 Δημοσ. 11 Αυγούστου 2015 (επεξεργασμένο) Καλησπερα Φτιαχνω ενα site σε express/node server με angular. Υπαρχουν 2 σελιδες, που σεταρω στο app js app.get('/', routes.list); app.get('/users/', users.showUsers); τα routes ειναι (index.js και users.js) exports.list = function(req, res){ res.render('index') }; exports.showUsers = function(req, res){ res.render('users') }; Το users ειναι μια απλη σελιδα <!DOCTYPE html> <html > <div id="main"> this is where content will be injected </div> </html> αλλα το index ειναι σε στιλ SPA <html ng-app="sp"> var sp = angular.module('sp', ['ngRoute']); sp.config(function ($routeProvider) { // configure the routes $routeProvider .when('/', { // route for the home page templateUrl: 'http://localhost:4800/home.html', controller: 'homeController' }) .when('/about', { // route for the about page templateUrl: 'http://localhost:4800/about.html', controller: 'aboutController' }) .otherwise({ templateUrl: 'http://localhost:4800/routeNotFound.html', controller: 'notFoundController' }); }); sp.controller('homeController', function ($scope) { $scope.message = 'Welcome to my home page!'; }); sp.controller('aboutController', function ($scope) { $scope.message = 'Find out more about us.'; }); sp.controller('notFoundController', function ($scope) { $scope.message = 'There seems to be a problem finding the page you wanted'; }); <li><a href="/"> Home</a></li> <li><a href="/about"> About</a></li> <li><a href="/users/"> users</a></li> <div id="main"> <div ng-view></div> </div> Τα links ειναι το μενου και φορτωνουν διαφορετικα templates μεσα στο main div του index. Αλλα οταν κλικαρω στο link του users δε φορτωνει τη σελιδα, χτυπαει το λαθος There seems to be a problem finding the page you wanted" του otherwise και notFoundController. Κανενα λαθος στη κονσολα. Εβαλα και διαφορετικα το link σε φαση http://localhost:4800/users τιποτα. Τι μπορω να κανω? Ευχαριστω πολυ UPDATE Sorry, κανονικα το sp.config ειναι ετσι sp.config(function ($routeProvider, $locationProvider) { // configure the routes $routeProvider .when('/', { // route for the home page templateUrl: 'http://localhost:4800/home.html', controller: 'homeController' }) .when('/about', { // route for the about page templateUrl: 'http://localhost:4800/about.html', controller: 'aboutController' }) .otherwise({ templateUrl: 'http://localhost:4800/routeNotFound.html', controller: 'notFoundController' }); $locationProvider.html5Mode(true).hashPrefix('!'); }); για να μη χρησιμοποιω # στα Links. Αν σβησω το $locationProvider.html5Mode(true).hashPrefix('!'); και αντικαταστησω το / με # στα home και about links, Ολα δουλευουν κανονικα. Αλλα γιατι το html5 mode να σπαει ολο το κωδικα? Επισης δε θελω να εχω # στα links, οποτε δε μπορω να σβησω τελειως το Html5 mode Επεξ/σία 11 Αυγούστου 2015 από slevinkelevra
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα