检查在Emberjs中为组件分配了哪些属性

时间:2015-11-13 09:44:07

标签: javascript ember.js handlebars.js htmlbars ember-components

我写了一个组件来显示一个选择模式对话框。

<input type="text" id="prompt">
<input type="button" value="Go">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

这是一个多选组件,{{m-modal-select value=valList valuePool=possibleValueList}} 是候选列表,valuePool是选定列表。现在我想支持这个组件中的多选和单选,当它是单模时,代码应该是这样的:

value

我希望组件本身可以通过观察分配给它的属性(value或singleValue)来识别它是处于单模式还是多模式。

我不知道如何在组件js中实现这一点。

此外,我还想知道是否有一个功能来获取所有已分配的属性&#39;组件中的名称。对于上面两个例子,它将如下所示:

{{m-modal-select singleValue=selectedOne valuePool=possibleValueList}}

1 个答案:

答案 0 :(得分:1)

this.get('attrs')将为对象提供传递给组件的属性。

检查单选或多选

//component.js
if(this.get('singleValue')){ 
  //single select code 
}else{
  //multi select code
}

//component.hbs (only if you need so)
{{#if singleValue}}
single select code
{{else}}
multi select code
{{/if}}