首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示为空的Angular consoled数据

显示为空的Angular consoled数据
EN

Stack Overflow用户
提问于 2019-03-27 01:38:25
回答 2查看 54关注 0票数 0

我对我正在经历的一个问题感到非常困惑。我正在尝试将模型发送到post请求。但是,当我在浏览器中console.log出模型时,我看到了以下内容。

然后,如果我通过单击箭头展开控制台结果,我会看到以下内容

我的请求失败了,因为它看到的是空值,但实际上有数据。请协助。

我的请求如下所示

代码语言:javascript
运行
复制
const token = localStorage.getItem('token');
const headers = new HttpHeaders()
  .set('Authorization', `Bearer ${token}`)
  .set('Content-Type', 'application/json');
const options = { headers: headers };
console.log(this.model);
this.http.post('https://localhost:44345/api/Corporates/Create', this.model, options)
.subscribe(data => {
  console.log(data);
})

模型

代码语言:javascript
运行
复制
  protected initModel() {
    this.model = {
      basics: null,
      retirements: null,
      risk: null,
      users: null
    };
  }

填充模型

代码语言:javascript
运行
复制
  saveTemp( args: { tabName: string, tabModel: any } ) {
    switch (args.tabName) {
      case 'basics': {
        this.model.basics = args.tabModel;
        // console.log(this.model.basics);
        break;
      }
      case 'retirement': {
        this.model.retirements = args.tabModel;
        break;
      }
      case 'risk': {
        this.model.risk = args.tabModel;
        break;
      }
      case 'users': {
        this.model.users = args.tabModel;
        break;
      }
      default: {
        break;
      }
    }
  }
EN

回答 2

Stack Overflow用户

发布于 2019-03-27 02:02:26

看起来您正在向model传递默认的空值

在saveTemp()中,您为本地变量赋值,但不将该变量赋值给模型。

你能试试这样的东西吗?

代码语言:javascript
运行
复制
protected initModel() {
    this.model = {
      basics: this.model.basics
      retirements: this.model.retirements
      risk:  this.model.risk
      users: this.model.users
    };
  }
票数 1
EN

Stack Overflow用户

发布于 2019-03-27 02:20:19

当您使用console.log(this.model);时,很可能模型对象是默认的(全部为空),因此您可以看到所有的空值,而无需在控制台中展开该对象。在此之后,您立即将模型数据发布到API,您的服务器将收到空值。(如果您在this.http.post上放置了一个断点,并在console中展开您的对象,您也会看到全部为空。)

我假设你的saveTemp函数的“基本”情况是在你调用API之后触发的,所以你会在展开对象后看到控制台中的值(如果对象内容在控制台中打印出来后被更新,你可以通过展开它来看到更新)。

请确保在更新this.model后调用该接口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55363229

复制
相关文章

相似问题

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