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

时间:2016-03-29 18:39:50

标签: javascript ember.js

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

$(document).ready(function(){
    var updateDivs = function(){
        if($(this).attr("value")=="Tax representation"){
            $(".box").not(".red").hide();
            $(".red").show();
        }
        if($(this).attr("value")=="VAT recovery"){
            $(".box").not(".green").hide();
            $(".green").show();
        }
        if($(this).attr("value")=="Other"){
            $(".box").not(".blue").hide();
            $(".blue").show();
        }
    }
    $('input[type="radio"]').click(updateCheckbox);
    $.proxy(updateDivs, $('input[type="radio"]'))
});

这似乎有效,但如果我

let model = this.currentModel;

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

console.log(model);

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

1 个答案:

答案 0 :(得分:8)

  

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

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

console.log(model.toJSON());

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

如果您想以更具针对性的方式记录数据,可以使用serialize

model.serialize();

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

  

此外,我可以在任何地方阅读此标签的含义吗?

Ember应用程序中的所有对象(包括Ember数据模型)都继承自Ember.CoreObjecttoString具有打印此表示的Ember.guidFor方法。

<lc-dash@model:bizinfo::ember904:null>

表示:

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

对于比较示例,请参阅应用程序控制器的外观:

<lc-dash@controller:application::ember324>