0

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

{{m-modal-select value=valList valuePool=possibleValueList}}

这是一个多选组件,valuePool是候选列表,value是选中列表。现在我想在这个组件内同时支持多选和单选,当它是单模式时,代码应该是这样的:

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

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

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

另外,我还想知道是否有一个函数可以获取组件中所有分配的属性名称。对于上述两个示例,它将如下所示:

this.get('assignedAttrNames');  

//the first one 
// ['value', 'valuePool']

//the second one
// ['singleValue', 'valuePool']
4

1 回答 1

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}}
于 2015-11-13T11:30:21.460 回答