Angular.js:嵌套对象的条件绑定

时间:2015-02-12 09:25:30

标签: angularjs

我的角度控制器如下:

var isAuth = true;
    $scope.Dashboard = function (isAuth) {
        $scope.DashboardActions = [{
            AreaName: 'Create Request',
            Functions: [{
                FunctionName: 'Request Grid',
                Actions: {
                    View: isAuth,
                    Sort: isAuth,
                    Filter: isAuth,
                    EditLink: isAuth
                }
            }, {
                FunctionName: 'Create Dummy Request',
                Actions: {
                    Enable: (isAuth) ? 'inline-block' : 'None'
                }
            }]
        }];
    };

和HTML as:

<span style="display:{{Enable | Function {'FunctionName', 'Create Dummy Request'} | DashboardActions }}" class="Action">Actions                            
                            <a href="#/REQUEST/0" class="btn btn-primary">Create Dummy Request Test</a>

我想启用针对span属性的类Action禁用Enable。我该怎么做?对不起,这些天刚刚学习Angular ......

Fiddle

2 个答案:

答案 0 :(得分:0)

使用ng-class有条件地将类应用于DOM对象。有关详细信息,请参阅docs

此外,您需要在init上调用Dashboard(),因为它构建了您要使用的对象。为此,您可以使用ng-init

请参阅更新后的Fiddle

答案 1 :(得分:0)

使用ng-styleng-class对$ scope变量应用条件样式。您还需要初始化$scope.Dashboard()函数。请记住,如果需要检查很多条件以确定哪个类处于活动状态,请使用函数检查条件。随着HTML页面变重,删除HTML检查条件。 This jsfiddle是您问题的众多可能解决方案之一。