Bien, je pense que je l'ai eu...
Peu d'histoire d'abord:
La raison que j'avais besoin c'était de coller Angulaire sur le dessus du Nœud Express et ont Jade traiter mes partiels pour moi.
Voici donc whatchya dois faire...
(boire de la bière et passer plus de 20 heures sur le premier!!!)...
Lorsque vous configurez votre module, économiser de l' $routeProvider
dans le monde:
// app.js:
var routeProvider
, app = angular.module('Isomorph', ['ngResource']).config(function($routeProvider){
routeProvider = $routeProvider;
$routeProvider
.when('/', {templateUrl: '/login', controller: 'AppCtrl'})
.when('/home', {templateUrl: '/', controller: 'AppCtrl'})
.when('/login', {templateUrl: '/login', controller: 'AppCtrl'})
.when('/SAMPLE', {templateUrl: '/SAMPLE', controller: 'SAMPLECtrl'})
.when('/map', {templateUrl: '/map', controller: 'MapCtrl'})
.when('/chat', {templateUrl: '/chat', controller: 'ChatCtrl'})
.when('/blog', {templateUrl: '/blog', controller: 'BlogCtrl'})
.when('/files', {templateUrl: '/files', controller: 'FilesCtrl'})
.when('/tasks', {templateUrl: '/tasks', controller: 'TasksCtrl'})
.when('/tasks/new', {templateUrl: '/tasks/new', controller: 'NewTaskCtrl'})
.when('/tasks/:id', {templateUrl: '/tasks', controller: 'ViewTaskCtrl'})
.when('/tasks/:id/edit', {templateUrl: '/tasks', controller: 'EditTaskCtrl'})
.when('/tasks/:id/delete', {templateUrl: '/tasks', controller: 'DeleteTaskCtrl'})
.otherwise({redirectTo: '/login'});
});
// ctrls.js
...
app.controller('EditTaskCtrl', function($scope, $routeParams, $location, $http){
var idParam = $routeParams.id;
routeProvider.when('/tasks/:id/edit/', {templateUrl: '/tasks/' + idParam + '/edit'});
$location.path('/tasks/' + idParam + '/edit/');
});
...
Que peut être plus d'infos que ce qui était nécessaire...
Fondamentalement, u voudra stocker votre Module $routeProvider
var à l'échelle mondiale, par exemple, que routeProvider
, de sorte qu'il peut être consulté par vos Contrôleurs.
Ensuite, vous pouvez simplement utiliser routeProvider
et de créer une NOUVELLE route (vous ne pouvez pas RÉINITIALISER un itinéraire' / 'REpromise'; vous devez en créer un nouveau), j'ai juste ajouté une barre oblique (/) à la fin de sorte qu'il est aussi sémantique que le premier.
Ensuite (à l'intérieur de votre Contrôleur), définir l' templateUrl
à la vue que vous voulez frapper.
Prendre l' controller
de la propriété de l' .when()
objet, de peur que vous obtenez une infinie demande de boucle.
Et enfin (toujours à l'intérieur de l'automate), utilisez $location.path()
pour rediriger vers la route qui vient d'être créé.
Si vous êtes intéressé par la façon de claque Angulaire application sur un Express app, vous pouvez fourche mon repo ici: https://github.com/cScarlson/isomorph.
Et cette méthode permet également pour vous de garder le AngularJS Bidirectionnelle de Données des Fixations dans le cas où vous voulez lier votre code HTML à votre base de données utiliser les WebSockets: sinon, sans cette méthode, votre Angulaire de données-les liaisons juste sortie {{model.param}}
.
Si vous avez un clone à ce moment, vous aurez besoin de mongoDB sur votre machine pour l'exécuter.
Espérons que cela résout ce problème!
Cody
Ne pas boire votre eau du bain.