2014-09-10 20 views
5

próbuję przekazać obiekt z węzła do klienta jak poniżejprzekazać obiekt do angularjs szablonu z jadeitu

render: function(req,res){ 
    res.render('auth',{ 
     userData : req.session.user 
    }); 
    } 

W moim auth.jade kod jest poniżej

script. 
    var data = !{JSON.stringify(userData)} 
    console.log(data) 
    window.top.location='/profile' 

więc mam skierowanie wniosku do nowej trasy, która mam zdefiniowanej w routeProvider korzystając angularjs

app.config(['$routeProvider','$locationProvider', 
    function($routeProvider,$locationProvider) { 
    $routeProvider. 
     when('/profile', { 
     templateUrl: 'templates/profile.html', 
     controller: 'ProfileCtrl' 
     }) 

więc istnieje sposób, w jaki mogę uzyskać dostęp do obiektu "danych" w kontrolerze dla tej trasy?

Odpowiedz

7

Można to zrobić w skrypcie:

var data = !{JSON.stringify(userData)}; 
window.serverData= data; 

Po w swoim app.js, można to zrobić:

app.value('serverData', window.serverData); 

A w kontrolerze:

app.controller('controllerName', ['serverData', function(serverData){ 

console.log(serverData); 

}]); 

Możesz uzyskać dostęp do okna var do kontrolera bez robienia app.value, ale jest to dobra praktyka.

Powiązane problemy