gpt4 book ai didi

javascript - 如何在不使用 ng-class 的情况下动态地将 ng-click 上的 ng-style 应用于所选项目

转载 作者:行者123 更新时间:2023-11-30 15:04:48 25 4
gpt4 key购买 nike

如何在不使用 angular 中的 ng-class 的情况下动态地在 ng-click 上应用 ng-style?仅针对选定的事件菜单更改颜色之类的东西。像这样的 DEMO但使用 ng 风格。下面是我的代码,它是切换功能。任何人都可以通过更改代码或使用您自己的示例在单击时更改事件项目的颜色或字体大小并将其余项目更改为默认状态来解决此问题。

<div ng-style="x.selected && {'color':'white','font-weight':'bold'}"  
ng-click="select(x)" ng-repeat="x in myData" ></div>


var app = angular.module('anApp', ['angular.filter']);
app.controller('aCtrl', function($scope) {
$scope.data = [
{
"id": 100,
"value": "2452"
},
{
"id": 100,
"value": "2458"
},
{
"id": 1,
"value": "2457"
},
{
"id": 1,
"value": "2459"
},
{
"id": 4,
"value": "2460"
},
{
"id": 5,
"value": "3458"
}
];

$scope.select = function(x){
x.selected = !x.selected;
}
})



<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-filter/0.4.7/angular-filter.js"></script>
<div ng-app="anApp" ng-controller="aCtrl">
<div ng-style="x.selected && {'color':'red','font-weight':'bold'}"
ng-click="select(x)" ng-repeat="x in data" >
{{x.value}}
</div>

</div>

最佳答案

像这样尝试。

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {

$scope.menuItems = ['Home', 'Contact', 'About', 'Other'];
$scope.activeMenu = $scope.menuItems[0];

$scope.setActive = function(menuItem) {
$scope.activeMenu = menuItem
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-filter/0.4.7/angular-filter.js"></script>
<div ng-app="plunker" ng-controller="MainCtrl">
<div class="account-item" ng-repeat='item in menuItems'>
<div class="account-heading" ng-style="activeMenu === item && {'background' :'red' }">
<h4 class="account-title">
<a href="#/Messages" ng-click="setActive(item)"> {{ item }}</a>
</h4>
</div>
</div>
</div>

关于javascript - 如何在不使用 ng-class 的情况下动态地将 ng-click 上的 ng-style 应用于所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45938764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com