【问题标题】:iterate over values in a list in a dictionary for a key angularjs迭代字典中列表中的值以获取键 angularjs
【发布时间】:2014-03-08 16:21:54
【问题描述】:

我是一个带有字符串键和字符串列表值的字典:

[key1 : value1, value2, value3]
[键2:值1]
[key3 : value1, value2]

我需要在 Angular js 的导航栏中显示它。

angularjs 视图是:

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" ng-controller="NavCntrl">
    <ul class="nav navbar-nav" ng-repeat="(key, val) in categories">
        <li class="dropdown">
            <a href="#">{{key}}</a>
            <ul class="dropdown-menu">
                <li>
                    <a href="#">{{val}} </a>
                </li>
            </ul>
        </li>
    </ul>
</div>

我可以显示键,但是每个键的值显示为“['value1',value2]”

我也试过这样:

<li class="dropdown">
            <a href="#">{{key}}</a>
            <ul class="dropdown-menu" ng-repeat="value in key" >
                <li>
                    <a href="#">{{value}} </a>
                </li>
            </ul>
        </li>

但是,它显示了一些垃圾值并且无法正常工作。

请帮忙!

【问题讨论】:

  • 能否请您在定义数据的地方显示您的 javascript?
  • 显示 json 格式。以上是无效的json格式

标签: angularjs


【解决方案1】:

类别设置后,需要将其值转换为数组。字符串有一个 split 方法,这使得这很容易。

$scope.categories={
    key1: 'value1, value2, value3',
    key2: 'value1',
    key3: 'value1, value2'
};
Object.keys($scope.categories).forEach(function(key){
    $scope.categories[key]=$scope.categories[key].split(',');
});
console.log('modified categories',$scope.categories);

【讨论】:

    【解决方案2】:

    对于数据

    {
        'key1' : ['value1', 'value2', 'value3'],
        'key2' : ['value1'],
        'key3' : ['value1', 'value2']
    }
    

    视图应该是

    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" ng-controller="NavCntrl">
        <ul class="nav navbar-nav" ng-repeat="(key, val) in categories">
            <li class="dropdown">
                <a href="#">{{key}}</a>
                <ul class="dropdown-menu">
                    <li ng-repeat="subval in val">
                        <a href="#">{{subval}} </a>
                    </li>
                </ul>
            </li>
        </ul>
    </div>
    

    【讨论】:

    • 非常感谢,为我工作! :)
    猜你喜欢
    • 2014-12-27
    • 2023-01-02
    • 2020-10-11
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 2011-11-16
    • 2022-06-21
    • 2023-02-02
    相关资源
    最近更新 更多