Ember.js - 如何控制日志模型

Dan*_*son 1 javascript ember.js

这里很普遍的问题.在我的代码中,我经常处理模型:

let model = this.currentModel;
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但如果我

console.log(model);
Run Code Online (Sandbox Code Playgroud)

我在控制台中看到这个无用的代码:

<lc-dash@model:bizinfo::ember904:null>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何将模型的内容实际记录为对象?另外,在任何地方我都可以阅读这个标签的含义?

nem*_*035 8

有谁知道如何将模型的内容实际记录为对象?

ember数据模型有一个toJSON方法,可以为您提取相关数据:

console.log(model.toJSON());
Run Code Online (Sandbox Code Playgroud)

此方法使用JSONSerializer创建JSON表示.

如果要以更具特定于应用程序的方式记录数据,可以使用序列化:

model.serialize();
Run Code Online (Sandbox Code Playgroud)

它使用您在商店适配器中定义的序列化策略来创建模型的JSON表示.

另外,在任何地方我都可以阅读这个标签的含义?

Ember应用程序中的所有对象(包括Ember Data模型)都继承自Ember.CoreObject,后者具有打印此表示形式的toString方法.

<lc-dash@model:bizinfo::ember904:null>
Run Code Online (Sandbox Code Playgroud)

手段:

  • lc-dash 是你的应用名称
  • model 是您正在记录的对象的余烬类型(可以是控制器,路线等)
  • bizinfo 是您要记录的对象的名称(模型名称,控制器或路径等)
  • ember904是一个用Ember.guidFor创建的guId
  • null是模型的ID.您可以使用toStringExtension特定模型中的方法覆盖此值

对于比较示例,以下是应用程序控制器的登录方式:

<lc-dash@controller:application::ember324>
Run Code Online (Sandbox Code Playgroud)