首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现Angular2前端服务时遇到麻烦

实现Angular2前端服务时遇到麻烦
EN

Stack Overflow用户
提问于 2017-07-25 17:17:25
回答 2查看 67关注 0票数 0

我的目标是显示登录的用户名。

我有一个后端快速服务,它成功地使用Mongoose来执行MongoDB查询。我能看到它和邮差一起工作。此服务查询数据库中的“用户”集合。它接受一个userId并返回用户的firstName。

我在实现Angular2前端服务时遇到了问题,该服务从本地存储获取userId,将其传递给后端,并检索用户的firstName。然后,我想要使用把手,字符串插值,插入用户名,我想在任何地方。

下面代码中的loggedInUser()是我目前关注的焦点。

auth.service.ts

代码语言:javascript
复制
import { Injectable } from '@angular/core';
import { Http, Headers, Response } from '@angular/http';
import 'rxjs/Rx';
import { Observable } from 'rxjs';

import { User } from './user.model';
import { ErrorService } from '../errors/error.service';

@Injectable()
export class AuthService {
  constructor(private http: Http, private errorService: ErrorService) {}

  loggedInUser() {
    const userId = localStorage.getItem('userId');
    console.log('Service) User ID:'  + userId);
    return this.http.get('htp://localhost:3000/user/current/' + userId)
      .map((response: Response) => {
         const user = response.json().obj;
         return user;
      })
  };

当我试图在组件的HTML文件中使用loggedInUser时,在呈现路由时没有输出。console.log调用在浏览器的控制台中不会产生任何结果;就好像方法没有被调用一样。

signup.component.html

代码语言:javascript
复制
Username:  {{ loggedInUser }}
EN

回答 2

Stack Overflow用户

发布于 2017-07-25 17:34:45

https://angular.io/guide/cheatsheet解释了各种字符串插值技术。

是否在组件的ngInit中调用您的服务。有点像

代码语言:javascript
复制
export class MyComponent implements ngOnInit {
  user: User
  constructor (private authService:AuthService) {}
  onInit{
    this.authService.subscribe((data:User) => this.user = data)
  }
}

html

用户名:{{ user }}

票数 0
EN

Stack Overflow用户

发布于 2017-07-26 20:28:01

正如Vega所写的,"loggedInUser是组件类中的一个方法,您应该用()调用它“。

{{ loggedInUser() }}解决了这个问题。

,我在这里发布的代码还有其他问题,所以使用它会有您自己的风险。

关于另一个话题,@AJT_82要求我分享后端的回应。请注意,生成这样一个答复的Express代码不是我的示例的一部分。

代码语言:javascript
复制
{
    "message": "Success",
    "obj": {
        "_id": "596925d7ccf72260bc37a0df",
        "firstName": "Test2"
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45309832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档