具有动态类名的Ember视图

时间:2014-03-11 19:04:03

标签: ember.js

考虑以下因素:

父模板:

{{view App.SomeView id="42" panelClass="default"}}

查看模板:

        <div class="col-md-3 col-sm-6">
            <div class="panel panel-{{panelClass}}">
                <div class="panel-heading">
                    <h3 class="panel-title">
                        {{name}}
                    </h3>
                </div>
                <div class="panel-body">
                    {{description}}
                </div>
            </div>
        </div>

查看JS:

App.SomeView = Ember.View.extend({
    templateName: 'views/some-view'
});

如何在面板类设置正确的情况下实现输出HTML?目前它不起作用,因为它想绑定,所以它插入了ember变形脚本标签,而不仅仅是面板类的纯文本。

此外,模板包含在额外的div中。我如何修改它以使ember-view包装div实际上是模板中的第一个div(带有col-md-3 col-sm-6的div)?

1 个答案:

答案 0 :(得分:2)

出于这个原因存在bind-attr助手。 Here's指南条目。

<div {{bind-attr class=":panel panelClass"}}></div>

另外,不确定您是否可以在模板中使用panelClass上的前缀。如果可能更容易使用计算属性预先添加panel-


对不起,我没有看到关于额外div的第二个问题。该指南解释了here如何扩展元素。

App.SomeView = Ember.View.extend({
    classNames: ['col-md-3', 'col-sm-6']
});