首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在handlebars模板中查看所有可用变量

如何在handlebars模板中查看所有可用变量
EN

Stack Overflow用户
提问于 2013-11-06 06:47:13
回答 7查看 27.6K关注 0票数 22

我正在开发我的第一个Ember.js应用程序,但在连接所有的点时遇到了一些问题。如果我能看到给定handlebars模板中所有可用的变量,那将非常有帮助。

有一个相关的问题,但您必须知道作用域中的变量:How do I add console.log() JavaScript logic inside of a Handlebars template?

我怎样才能输出所有的变量?

EN

回答 7

Stack Overflow用户

发布于 2014-06-23 18:30:36

一个不错的选择是使用Handlebar helpers调试模板中'this‘的值: 1。

代码语言:javascript
复制
{{#each}}
    {{log this}}    
{{/each}}

或者,2.类似@watson建议的

代码语言:javascript
复制
{{#each}}
    {{debugger}}
{{/each}}

然后在Dev工具中深入到'this‘的本地范围变量

或者,3.您可以直接从您的Controller init方法内部记录事件,例如:

代码语言:javascript
复制
App.UsersController = Ember.ArrayController.extend({
    init: function() {
        console.log(this);
        console.log(this.getProperties('.'));
    }
});
票数 12
EN

Stack Overflow用户

发布于 2013-11-07 00:38:24

一定要尝试Firebug --你会对事物有不同的看法,这对我很有帮助。但不要完全放弃chrome;在某些情况下,您会需要Ember Inspector

我使用的是same debugging helper everyone recommends,这是Chrome显示它的方式:

当我在firebug中展开同一个对象时,我得到了以下信息,包括我正在寻找的变量(sources[])和其他一些我在Chrome中没有见过的有用属性。

票数 6
EN

Stack Overflow用户

发布于 2019-07-04 02:35:07

我在几年前创建了Barhandles。它将使用Handlebar解析器生成AST,然后从中提取变量引用。extractSchema方法将很好地提取模式。该模式不是基于JSON模式或Joi或任何东西。这是一种自主开发的格式,它捕获了您可以从Handlebar模板中提取的大部分内容。

因此,此barhandlers.extractSchema('{{foo.bar}}')生成:

代码语言:javascript
复制
{
  "foo": {
    "_type": "object",
    "_optional": false,
    "bar": {
      "_type": "any",
      "_optional": false
    }
  }
}  

它将考虑到{{#if expr}}将自动使嵌套引用成为可选的。它基于{{#with expr}}构造正确地处理作用域更改,并且允许您添加对自己的自定义指令的支持。

我们使用它来验证我们传递给模板的数据结构,并且它在这个目的上工作得很好。

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

https://stackoverflow.com/questions/19800602

复制
相关文章

相似问题

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