2016-09-07 3 views
0

ich ein Template-Set für alle meine Ansicht Seiten haben, die ichAngular JS Templating

mit Hilfe von Lade
app.route('/*').get(core.renderIndex); 

wo und die renderIndex Funktion sieht aus wie

exports.renderIndex = function (req, res) { 
    res.render('modules/core/server/views/index', { 
    user: req.user || null 
    }); 
}; 

Nun, wenn mein Weg hat darin Ankündigung i render eine andere Vorlage und nicht index.server.view.html

app.route('/:shopId/:locationId/announcement/*').get(core.renderAnnouncement); 

exports.renderAnnouncement = function (req, res) {  
    res.render('modules/core/server/views/announcement', { 
    user: req.user || null, 
    }); 
}; 

Der Grund, warum ich das mache, ist weil um die Meta-Tags über diese Seite zu ändern, d. h. ich muss Variablen in der Ansicht festlegen, bevor die Seite gerendert wird, die von einem anderen Controller stammt.

Meine Frage ist, wie kann ich auf Variablen in einer Datei server.view.html zugreifen?

wie der gettitle, der von getAnnouncement-Methode von OfferController eingestellt wird.

Dies funktioniert, wenn ich eine andere announcement.client.view.html-Datei und in der Server-Datei festgelegt erweitern es

Antwort

0

Falls jemand klemmt und Bedürfnisse helfen hier, wie ich dieses

app.get('/:shopId/:locationId/announcement/*',function(req,res,next){ 
    async.waterfall([ 
     function (done) { 
     var resultsObj = ''; 
     var httpTransport = 'http://'; 
     if (config.secure && config.secure.ssl === true) { 
      httpTransport = 'https://'; 
     } 
     var url = httpTransport + req.headers.host+'/api/offer/getbyid/'+req.params[0]; 
     request.get(url, function (err, res, body) { 
      resultsObj = JSON.parse(body); 
      done(err, resultsObj); 
     }); 


     }, 
     function (resultsObj, done) { 
     var httpTransport = 'http://'; 

     if (config.secure && config.secure.ssl === true) { 
      httpTransport = 'https://'; 
     } 
     var url = httpTransport + req.headers.host+'/api/shops/'+req.params.shopId+'/'+req.params.locationId; 
     request.get(url, function (err, res, body) { 
      var resultsObjNew='';  
      resultsObjNew = JSON.parse(body); 
      done(err, resultsObjNew,resultsObj); 
     }); 

     }, 
     function (resultsObjNew,resultsObj, done) { 

     res.render('modules/core/server/views/announcement', { 
      title: resultsObj[0].title, 
      imageUrl : resultsObj[0].imageURL, 
      desc : resultsObj[0].desc, 
      link:resultsObj[0].redirectLink, 
      logoLink: resultsObjNew.logoLink, 
      backgroundImage:resultsObjNew.backgroundImage  
     }); 
     }  
    ]); 
    }); 
tat

wo

var request = require('request'); 
    var async = require('async'); 
    var path = require('path');