Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angularjs中动态更改类_Javascript_Html_Css_Angularjs - Fatal编程技术网

Javascript 如何在angularjs中动态更改类

Javascript 如何在angularjs中动态更改类,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我想按照本文所示的步骤使用angularjs更改html实体的类,但它不起作用。我有两个按钮,我想显示为活动时,点击,所以我有一个“活动”类为这个。我想使用angularjs动态更改类 HTML <div class="tab-btn" > <input type="button" ng-class="active" ng-show="about" ng-click="show==1" value="About" /> <input typ

我想按照本文所示的步骤使用angularjs更改html实体的类,但它不起作用。我有两个按钮,我想显示为活动时,点击,所以我有一个“活动”类为这个。我想使用angularjs动态更改类

HTML

<div class="tab-btn" >
    <input type="button"   ng-class="active"  ng-show="about"   ng-click="show==1" value="About" />
    <input type="button" ng-show="help"    ng-click="show = 2" value="Help"/>    
    <input type="button" ng-show="Info"    ng-click="show = 3" value="Special" />        
    <input type="button" ng-show="Service" ng-click="show = 4" value="Service" />            
    <div style="clear: both"></div>
</div>

您使用的
ng class
不正确:它的表达式由一个对象组成,其中每个属性都是一个类,而值是一个表达式,在truthy时要计算以有条件地应用该类

因此
ng class=“{active:isActive:inActive:!isActive}”
将应用
active
类,如果变量
isActive
是真实值,否则将应用类
inActive

对于您的用例,这取决于应用程序的更广泛范围以及如何生成按钮,但我在过去采用了不同的方法

如果您为按钮定义了一个模型,包括活动标志、禁用标志、标题等。您可以更轻松地控制按钮状态

这将允许您动态添加按钮、更改文本、启用按钮等。如果您为导航部分提供自己的控制器,并通过服务将其公开给应用程序的其余部分,则更是如此,但这可能有点过分


希望这把小提琴能帮助

使用ng class指令:关于如何在angular中有条件地应用类,有很多问题。在提问之前,请先搜索stackoverflow以了解您的问题是ng类是一种有角度的使用方式。您的
ng单击将
show
比较为1,而不是将其设置为1。人们对该问题投了反对票,因为该问题已被问了几十次,而简单搜索SO或查看
ng类的文档即可得出答案。当你表现出你试图帮助自己时,人们更倾向于帮助你。如果你说你已经搜索过了,但是你仍然感到困惑,他们能解释x、y和z吗?你会得到更好的回答。
$scope.active = '';
$scope.show = 1;
$scope.show1 = function(){

    $scope.show2 = false;
    $scope.show3 = false;
    $scope.show4 = false;

    if ($scope.active.length === 0) {
        $scope.active = 'active';
    } else {
        $scope.active = '';
    }                 
};