如何使用 concat 将条件字符串传递给 ember 组件属性?
How to pass conditional string to ember component attribute using concat?
使用 ember concat()
方法分配组件属性时传递条件字符串的正确方法是什么?
考虑以下因素
{{#my-compontent class=(concat (dasherize model.name)"-row")}}
{{model.name}}
{{/my-component}}
我想做的是根据 model.disabled
属性.
有条件地添加 --disabled
后缀
我尝试过的:
{{#my-compontent class=(concat (dasherize model.name)"-row{{if model.disabled '--disabled'}}")}}
{{model.name}}
{{/my-component}}
导致:
<div class="component-name-row{{if model.disabled '--disabled}}">
Component name
</div>
我尝试的另一件事是使用 ternary
助手,基于 :
{{#my-compontent class=(concat (dasherize model.name)"-row"(ternary model.disabled '--disabled' ''))}}
{{model.name}}
{{/my-component}}
但它崩溃了:
Assertion Failed: A helper named "ternary" could not be found
有什么办法吗?如果没有,我如何使用不同的方法达到相同的效果?
像往常一样,问了5分钟后我自己找到了答案:
{{#my-compontent class=(concat (dasherize model.name)"-row(if model.disabled '--disabled')")}}
{{model.name}}
{{/my-component}}
线索是使用 (if condition 'string')
而不是 {{if condition 'string'}}
。
使用 ember concat()
方法分配组件属性时传递条件字符串的正确方法是什么?
考虑以下因素
{{#my-compontent class=(concat (dasherize model.name)"-row")}}
{{model.name}}
{{/my-component}}
我想做的是根据 model.disabled
属性.
--disabled
后缀
我尝试过的:
{{#my-compontent class=(concat (dasherize model.name)"-row{{if model.disabled '--disabled'}}")}}
{{model.name}}
{{/my-component}}
导致:
<div class="component-name-row{{if model.disabled '--disabled}}">
Component name
</div>
我尝试的另一件事是使用 ternary
助手,基于
{{#my-compontent class=(concat (dasherize model.name)"-row"(ternary model.disabled '--disabled' ''))}}
{{model.name}}
{{/my-component}}
但它崩溃了:
Assertion Failed: A helper named "ternary" could not be found
有什么办法吗?如果没有,我如何使用不同的方法达到相同的效果?
像往常一样,问了5分钟后我自己找到了答案:
{{#my-compontent class=(concat (dasherize model.name)"-row(if model.disabled '--disabled')")}}
{{model.name}}
{{/my-component}}
线索是使用 (if condition 'string')
而不是 {{if condition 'string'}}
。