【问题标题】:After updating array, View not updating更新数组后,视图不更新
【发布时间】:2019-05-12 09:49:39
【问题描述】:

最初我的用户集合是 型号:1

  {
    "_id":"sodjflkadkjj2342",
    "role:["customer"],
    "active":true,
    "email":"chris@abc.com",
    "password":"$2a$10$RsemeECS8vCEav/CPgO75ucr5C2e3ybplnMShchlDKn6naUcEI0uW",
    "pwd_token":1502,
    "phone":1234567890
    }

我正在更新它。现在就像现在 模型 1.1

 {
    "_id":"sodjflkadkjj2342",
    "role:["customer","employee"],
    "active":true,
    "email":"chris@abc.com",
    "password":"$2a$10$RsemeECS8vCEav/CPgO75ucr5C2e3ybplnMShchlDKn6naUcEI0uW",
    "pwd_token":1502,
    "phone":1234567890
    }

我可以通过带有 API 的邮递员获取这些详细信息,但从客户端我只能得到 Model 1 作为响应

客户

  getUserDetails(token): Observable<any> {
    return this.http.get(environment.apiBase+'/api/user/get',{
      headers: {
        Authotization: token
      }
    });
  };

TS

  getUsers() {
    this.userService.getUserDetails(this.token).subscribe(
        data =>{this.users = data,
         console.log(this.users);
      },
      error => console.log(error),
    );
  }

【问题讨论】:

  • 视图/模板端的结果更新了吗?
  • 不,它不显示更新的。当我注销并登录时,它显示的是更新的
  • 是的,您需要触发 API 来更新结果,而不是登录/注销
  • 你应该调用 getUsers 两次。
  • 我触发了那个 API,我只得到了未更新的模型作为响应 @PardeepJain

标签: angular mongodb typescript


【解决方案1】:

Angular 使用 zone.js 来检测 SPA 中的变化。因此,如果您从 Angular APP 更改数据并且如果它在 DB 中成功更改,那么您可能没有调用 getUsers() (您必须再次调用它)来更改您的本地数据或更准确地说是您的数组或你用过的东西。如果没问题,请提交更多代码,我们可以看到并帮助您!

【讨论】:

    猜你喜欢
    • 2019-12-09
    • 2017-11-11
    • 2020-12-17
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    相关资源
    最近更新 更多