gpt4 book ai didi

ember.js - 控制台登录 ember js

转载 作者:行者123 更新时间:2023-12-04 00:47:00 25 4
gpt4 key购买 nike

我想问一下为什么当你在 ember 的控制台上打印出来时,它会给你一个字符串?但是如果你在上面打字,它会给你一个功能吗?

ex. sample = Ember.Route.extend();

console.log(sample); // prints (subclass of Ember.Route)

console.log(typeof sample); // function

有人可以解释一下吗?除了他们难以掌握的文档。即使使用 ember 检查器,在 ember 上也很难调试。是否有任何工具或方法可以正确调试 ember.

最佳答案

在 Ember 调试方面,你可能已经读过这个:https://guides.emberjs.com/release/configuring-ember/debugging/

有几个很棒的功能,你可以在开发过程中打开,获取更多信息,幕后发生了什么。

您可以在 app.js 中插入:

var App = Ember.Application.extend({
LOG_TRANSITIONS_INTERNAL: true,
LOG_ACTIVE_GENERATION: true,
LOG_VIEW_LOOKUPS: true,
LOG_RESOLVER: true,
});

Ember.run.backburner.DEBUG = true;
Ember.ENV.RAISE_ON_DEPRECATION = true;
Ember.LOG_STACKTRACE_ON_DEPRECATION = true;
Ember.LOG_BINDINGS = true;
Ember.RSVP.on('error', function(error) {
Ember.Logger.assert(false, error);
});

您可以停止您的代码 如果你写 debugger在你的代码中。我经常使用它来弄清楚那里发生了什么。

就您的问题而言,如果您扩展 Ember 类,它基本上会创建一个新函数,但表现为扩展类的子类。你可以检查那里发生了什么: https://github.com/emberjs/ember.js/blob/v1.7.0/packages/ember-runtime/lib/system/core_object.js#L536-L556

当您运行 Ember 应用程序时,您的应用程序将被包裹在 中。容器 ,所以如果你需要访问属性或变量,你必须使用它 - 假设你的应用程序名称是“App”:
App.__container__.lookup("controller:application").get("currentRouteName")
App.__container__.lookup("controller:application").get("currentPath")
App.__container__.lookup("controller:application").get("model")

了解如何调试 ember 应用程序需要一段时间,但值得学习并投入更多时间,因为稍后会非常方便。

如果您有任何问题,请随时发表评论,我们可以解决。

关于调试器;

它就像一个断点,你可以停止代码。 “检查元素”/“开发者工具”必须在 Chrome 中打开。这里的小例子: http://jsbin.com/cugetoxoyira/45

源代码: http://jsbin.com/cugetoxoyira/45/edit
在第 18 行,有一个 debugger; ,因此您可以在控制台中检查 Controller 或模型参数中的内容。您只需输入 controller在 Chrome 开发者工具的控制台中。

关于ember.js - 控制台登录 ember js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26412628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com