Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλησπερα

 

Φτιαχνω ενα 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

Επεξ/σία από slevinkelevra

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...