Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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
如何更改对象';AngularJS中的s属性_Angularjs_Button - Fatal编程技术网

如何更改对象';AngularJS中的s属性

如何更改对象';AngularJS中的s属性,angularjs,button,Angularjs,Button,我有一个函数,它将对象中的属性设置为false(如果为true)和true(如果为false)。然而,每次函数运行时,对象都不会受到影响 $scope.menuButtons = [{header: "beaded", isActive: false}, {header: "laced", isActive: false} ] $scope.activeButton = function(isActive)

我有一个函数,它将对象中的属性设置为false(如果为true)和true(如果为false)。然而,每次函数运行时,对象都不会受到影响

$scope.menuButtons = [{header: "beaded", isActive: false}, 
                      {header: "laced", isActive: false}
                     ]

$scope.activeButton = function(isActive) {
    isActive == true ? isActive = false : isActive = true;
}; 
这是HTML

 <div ng-repeat="b in menuButtons">

 <div ng-click="activeButton(b.isActive)" class="shop-navbar-button">{{b.header}}</div>

 </div>

{{b.header}}

我正在使用isActive值查看按钮是否处于活动状态,以便可以使用其他类。由于某些原因,$scope中的isActive值不会受到影响。

传入
b
,而不是
b.isActive
。布尔值只是按值传递,因此重新分配值对
b.isActive
传入
b
而不是
b.isActive
没有影响。布尔值只是通过值传递,因此重新分配值对
b没有影响。isActive

我认为您可以改变这一点:

$scope.menuButtons = [{header: "beaded", isActive: false}, 
                      {header: "laced", isActive: false}
                     ]

$scope.activeButton = function(isActive) {
    isActive == true ? isActive = false : isActive = true;
}; 
<div ng-click="activeButton(b.isActive)" class="shop-navbar-button">{{b.header}}</div>
{{b.header}
为此:

<div ng-click="b.isActive=!b.isActive" class="shop-navbar-button">{{b.header}}</div>
{{b.header}

您将不需要辅助功能。它更干净,角度也更大。

我想你可以改变这一点:

<div ng-click="activeButton(b.isActive)" class="shop-navbar-button">{{b.header}}</div>
{{b.header}
为此:

<div ng-click="b.isActive=!b.isActive" class="shop-navbar-button">{{b.header}}</div>
{{b.header}

您将不需要辅助功能。它更干净,角度更大。

非常感谢!非常感谢!