Javascript 车把条件样式属性
我正在使用Javascript 车把条件样式属性,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,我正在使用ember 1.8.1 控制器有一个属性isDisplay 在Handlebar中,我这样实现,它可以工作,但代码太长 {{#if isDisplay}} <div class="form-group"> </div> {{ else }} <div class="form-group" style="display:none;"> </div> {{/if}} {{{#if isDisplay} {{e
ember 1.8.1
控制器有一个属性isDisplay
在Handlebar中,我这样实现,它可以工作,但代码太长
{{#if isDisplay}}
<div class="form-group">
</div>
{{ else }}
<div class="form-group" style="display:none;">
</div>
{{/if}}
{{{#if isDisplay}
{{else}
{{/if}
我试着使用条件,像这样,但它不工作
<div class="form-group" {{bind-attr class="!isDisplay:'display:none;'"}}>
</div>
更新的答案(感谢mukilane):
这不起作用,因为标记中的{{{{}}…{{{/}}
无效
<div class="form-group" {{#unless isDisplay}}style="display:none;"{{/unless}}></div>
确实如此
<div style={{unless isDisplay "display: none;"}}></div>
一个简单的解决方案是
<div style={{unless isDisplay "display: none;"}}></div>
正如@mukoilane所建议的,最安全的方法是切换CSS类。如果您使用的是引导,那么可以利用
d-none
类
<div class="form-group {{unless isDisplay "d-none"}}">
...
</div>
...
你就不能这么做吗?
?你使用的是2014年发布的一个版本的Ember.js(原文如此!),已经多年不受支持了<代码>{{bind attr}}在2015年发布的1.13中被弃用(原文如此!)。我强烈建议升级。清晰:我认为应该是
。但是,它仍然不起作用。错误消息:无法读取函数hydrateMorphs
中null的属性'parentNode',在标记中使用块{{}…{/}无效,并将抛出错误。@mukilane这不是真的,我的朋友。请参阅。这不起作用。与Clarity的注释相同的结果是,一个错误无法读取函数中null
的属性“parentNode”
,这仍然不起作用。错误消息:未捕获类型错误:无法在字符串“display:none;”上创建属性“fn”代码>
<div class="form-group {{unless isDisplay "d-none"}}">
...
</div>