如何在角度下拉列表中显示动态列

时间:2016-03-28 05:52:59

标签: javascript angularjs drop-down-menu angular-ui-bootstrap

我想显示下拉选项,具体取决于我在控制器中传递的值

控制器:

This.selectedColumn = label;

This.dditems = [
    {
        id: 1,
        label: 'aLabel',
        subItem: 'aSubItem'
    },
    {
        id: 2,
        label: 'bLabel',
        subItem: 'bSubItem'
    },
    {
        id: 3,
        label: 'bLabel',
        subItem: 'cSubItem'
    }
];

在上面的代码中,我选择了Column作为标签,然后我应该在下拉列表中显示dditems.label。如果我将selectedColumn作为subItem传递,那么我应该在下拉列表中显示dditems.subItem

HTML:

<ul class="dropdown-menu" role="menu" aria-labelledby="single-button" >
    <li role="menuitem" data-ng-repeat="item in dc.dditems">
       <a>{{ item.label }}</a>
   </li>
</ul>

在上面的代码中,我已经硬编码item.label,所以现在显示了item.label列。但我希望根据selectedColumn显示价值。

例如:<a>{{ item.selectedColumn }}</a>

我该怎么做这种动态的方式?

1 个答案:

答案 0 :(得分:1)

我为您的解决方案制作了Fiddle。您可以使用希望重复属性更改的任何事件来更改click事件。

根据您的代码,您只需要使用任何事件更改selectedColumn变量。

<ul class="dropdown-menu" role="menu" aria-labelledby="single-button" >
    <li role="menuitem" data-ng-repeat="item in dc.dditems">
       <a>{{ item[selectedColumn] }}</a>
   </li>
</ul>

希望有所帮助