bind-attr与条件在把手中没有按预期工作

时间:2014-12-15 21:52:44

标签: handlebars.js

我把一个测试小提琴放在一起,以获得我正在进行的项目的基础知识。不幸的是,我甚至无法按照我的预期获得基本功能。这是我的小提琴失败http://jsfiddle.net/3oLa40mw/1/

jQuery 2.1.0 把手2.0.0

HTML:

<script type="text/x-handlebars" id='testTemplate'>
    <div {{bind-attr class="someBool:foo:bar"}}>
        {{firstName}} {{lastName}} {{someBool}}
    </div>
</script>
<div id='stuff'></div>

脚本

var model = 
    {firstName: 'bob', lastName: 'mcbob', someBool: true, trueVal: 'y', falseVal: 'yy'};

var template = Handlebars.compile($("#testTemplate").html());
var html = template(model);
console.log(html);
$('#stuff').html(html);

输出是没有class属性的div。没有foo。没有吧。

根据我在各种教程中看到的内容,我期待class="foo"。我错过了什么?

我真正的最终目标是:

    <div {{bind-attr class="someBool:some-{{name}}:someother-{{name}}"}}>
        {{firstName}} {{lastName}} {{someBool}}
    </div>

    <div {{bind-attr class="some-{{name}} someBool:someother"}}>
        {{firstName}} {{lastName}} {{someBool}}
    </div>

我可以生成css以适用于任何一种情况。如果我能把车把吐出我想要的东西。

1 个答案:

答案 0 :(得分:2)

bind-attr is an Ember helper,默认情况下在手柄中不可用。