我希望有人能帮助我。 我正在使用angular v1.3.14,并且尝试在ng类映射的关键字中添加一个作用域变量。ngClass style with key
例如
<b class="fixedClass" ng-class="{'classOne' : x === 'foo',
'classTwo-%(y)%' : x === 'bar'}">
%(z)%
</b>
有没有办法做这样的事情,还是有围绕一个办法吗?
我希望有人能帮助我。 我正在使用angular v1.3.14,并且尝试在ng类映射的关键字中添加一个作用域变量。ngClass style with key
例如
<b class="fixedClass" ng-class="{'classOne' : x === 'foo',
'classTwo-%(y)%' : x === 'bar'}">
%(z)%
</b>
有没有办法做这样的事情,还是有围绕一个办法吗?
你可以做这样的事情
angular.module('App',[])
.controller('AppController',['$scope',function($scope){
$scope.y = 10;
$scope.val = 'bar';
var fixedClass = "fixedClass ";
$scope.getCSSClass = function(){
if($scope.val === 'foo'){
return fixedClass + 'classOne';
} else {
return fixedClass + 'classTwo-(' +$scope.y+ ')';
}
};
}])
在HTML中
<body ng-controller="AppController">
<b ng-class="getCSSClass()">hello</b>
</body>
这里是working代码
在您的要求来看,似乎你与动态混合静态类名类名称。最好的办法是
ng-class="['fixedClass',' fixedClass2',getDynamicStyle()]"
getDynamicStyle
范围暴露返回动态类名称的值。您可以添加任意数量的动态样式。
你想要做什么..你想分配一个动态类名 –
我正在创建一个指令,我提供%(y)%[在这种情况下] – Kris
然后我认为一个更好的选择将使用像'ng-class =“dynaClass”'这样的类名变量,然后在'x'上使用watch来更新'dynaclass'的值。 –