Atualmente, tenho um aplicativo que usa Express com modelos Jade. Estou construindo uma nova versão do aplicativo usando Angular com HTML do lado do cliente.
Preciso acessar certos parâmetros de solicitação para determinar as permissões do usuário no meu código Angular. Meu problema é que não sei como obter esses parâmetros em meus controladores / serviços Angular.
Abaixo está o que ocorre atualmente no Express com a estrutura Jade:
routes.js:
router.get('/player/:id',
playerRoute.show
);
player.js:
var show = function(req, res) {
res.render('player', {user: req.user});
};
... e agora o manipulador da minha nova versão:
var player = function(req, res) {
//res.sendFile(path.join(__dirname, '../v2', 'index.html'));
res.json({user: req.user});
};
O JSON do usuário correto é enviado de volta ao meu lado do cliente com o código acima. Quando res.json
é comentado e não res.sendFile
comentado, o HTML correto é renderizado. Meu dilema é como renderizar esse HTML E fornecer meu código Angular do lado do cliente com o user
objeto JSON?
Depois de tudo isso, sua pergunta se resume a:
MEU dilema é como renderizar esse HTML E fornecer meu código Angular do lado do cliente com o objeto JSON do usuário?
Você não. O caso usual é apenas renderizar o HTML junto com os recursos necessários para renderizar o aplicativo inicial (ocultar tudo, mostrar uma tela inicial de qualquer coisa). Dados adicionais (como obter o seu user
) são tratados por chamadas de API para o seu servidor por meio dos recursos HTTP do Angular. Isso significa que eles estão separados . Depois dessa chamada de API, seu aplicativo determina o que renderizar.
Caso contrário, você poderia apenas renderizar os dados no HTML como alguma variável global e fazer com que o Angular os pegasse a partir daí. Este é um IMO confuso, mas não requer uma chamada de API separada para obter os dados.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras