알겠습니다. 알겠습니다 ...
약간의 배경 우선 : 이것이 필요한 이유는 Node Express 위에 Angular를 붙이고 Jade가 나를 위해 내 부분을 처리하도록하기 위해서였습니다.
그래서 여기에 할 일이 있습니다 ... (맥주를 마시고 먼저 20 시간 이상을 보내십시오 !!!) ...
모듈을 설정할 때 $routeProvider
전역 적으로 저장하십시오 .
// 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/');
});
...
필요한 것보다 더 많은 정보 일 수 있습니다 ...
기본적 $routeProvider
으로, 예를 들어 routeProvider
컨트롤러에서 액세스 할 수 있도록 모듈의 var를 전역 적으로 저장하고 싶을 것 입니다.
그런 다음 routeProvider
새 경로를 사용 하고 만들 수 있습니다 ( '경로 재설정'/ '재 약속'할 수 없습니다. 새 경로를 만들어야 함). 마지막에 슬래시 (/)를 추가하여 의미 론적입니다. 첫 번째로.
그런 다음 (컨트롤러 내부에서) templateUrl
히트하려는 뷰로 설정하십시오 .
무한 요청 루프가 발생하지 않도록 객체 의 controller
속성을 제거하십시오 .when()
.
마지막으로 (여전히 컨트롤러 내부에 있음) $location.path()
방금 생성 된 경로로 리디렉션하는 데 사용합니다.
Angular 앱을 Express 앱에 겹치는 방법에 관심이 있다면 https://github.com/cScarlson/isomorph에서 내 저장소를 포크 할 수 있습니다 .
또한이 방법을 사용하면 WebSocket을 사용하여 HTML을 데이터베이스에 바인딩하려는 경우 AngularJS 양방향 데이터 바인딩을 유지할 수 있습니다. 그렇지 않으면이 방법이 없으면 Angular 데이터 바인딩은 {{model.param}}
.
이 시점에서 이것을 복제하는 경우이를 실행하려면 컴퓨터에 mongoDB가 필요합니다.
이 문제가 해결되기를 바랍니다.
코디
목욕물을 마시지 마십시오.
config()
공급자에게만 주입 대상 이 전달되므로$routePrams
.