我正在尝试用角度2构建一个小的facebook登录但是我遇到了问题,在登录facebook后,用户将被重定向到/ home
app.get('/home', function (req, res) {
res.sendfile(path.join(__dirname, '../', 'views', 'index.html'), { user: req.user});
console.log({ user: req.user});
});
我正在尝试在angular2页面中显示用户信息,但我一直未定义。控制台记录对象工作正常。
我使用res.render对ejs文件使用了相同的方法 并在ejs中使用它
<%= user.facebook.name %>
它工作正常。我尝试在角度2中使用{{}}但不起作用。 有什么帮助吗?
感谢
答案 0 :(得分:0)
我会在引导你的应用程序时定义这个元素。由于此提示仅在index.html
页面中提供,因此我将使用以下处理。
更新引导您的应用程序的文件:
import {bootstrap} from '...';
import {provide} from '...';
import {AppComponent} from '...';
export function main(facebookUser) {
bootstrap(AppComponent, [
provide('user', { useValue: facebookUser })
]);
}
以这种方式从index.html
文件中提供此值:
<script>
var facebookUser = '<%= user.facebook.name %>';
System.import('app/main').then((module) => {
module.main(facebookUser);
});
</script>
这个问题可能让你感兴趣:
答案 1 :(得分:0)
好的谢谢你的回复我找到了我的问题的答案。此代码将调用api并获取用户详细信息
constructor(private http: Http) { }
ngOnInit() {
this.getUser();
}
getUser() {
this.http.get('/api/user')
.map((res:Response) => res.json())
.do(data => console.log('data: ' + JSON.stringify(data)))
.subscribe(
data => { this.user = data.user.facebook.name},
err => console.error(err),
() => console.log('done')
);
}