在模板中迭代控制器属性的正确方法是什么?

时间:2017-02-09 05:57:18

标签: javascript ember.js

如何在模板中迭代控制器属性并不完全清楚。我偶然发现了一种方法:

{{#each-in this as |key value|}}
    {{key}}: {{value}}
{{/each-in}}

这种作品,但除了属性之外,它还输出了一些内部函数:

q: shirt
search_page: 3
_qpDelegate: function (prop, value) { var qp = map[prop]; _this._qpChanged(prop, value, qp); return _this._activeQPChanged(map[prop], value); }

我的控制器如下:

import Ember from 'ember';

export default Ember.Controller.extend({

    queryParams: [
        'q',
        'search_page'
    ],
    q: 'shirt',
    search_page: 3

});

有没有办法迭代和排除函数?

1 个答案:

答案 0 :(得分:1)

由于看起来你只需要为了调试目的而这样做,一种可能的解决方案是创建一个自定义帮助器来过滤掉函数(或者你想要的任何其他东西):

{{#each-in this as |key value|}}
  {{#if (debug-filter value)}}
    {{key}}: {{value}}
  {{/if}}
{{/each-in}}

您的控制器模板

{{1}}