Maison > Questions et réponses > le corps du texte
<!DOCTYPE html>
<html ng-app="myapp">
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="angular.min.js"></script>
<script>
var m1 = angular.module('myapp',[]);
m1.controller('Aaa',function($scope){
$scope.colors = [{
'id':'1',
'name':'red'
},{
'id':'2',
'name':'green'
},{
'id':'3',
'name':'blue'
}];
});
</script>
</head>
<body>
<p ng-controller="Aaa">
<ul>
<li ng-repeat="color in colors">{{color.name}}</li>
</ul>
</p>
</body>
</html>
Dois-je utiliser l'identifiant pour le faire correspondre ?
给我你的怀抱2017-05-15 16:54:53
Il n’est pas nécessaire que ce soit aussi compliqué que celui ci-dessus.
<ul>
<li ng-class="{red : color.active}" ng-click="color.active = !color.active" ng-repeat="color in Texture">{{color.value}}</li>
</ul>
ringa_lee2017-05-15 16:54:53
Le sujet doit utiliser la directive Angular pour répondre à cette exigence.
Résultat : http://output.jsbin.com/rolobakaya
javascript
m1.directive('toggleClass', function(){ return { restrict: 'A', scope: { toggleClass: '@' }, link: function($scope, $element){ $element.on('click', function(){ $element.toggleClass($scope.toggleClass); }); } }; });
html
<li toggle-class="classname"></li>
高洛峰2017-05-15 16:54:53
Mon idée est :
<li ng-class="{active: currentId == color.id}" ng-repeat="color in colors">{{color.name}}</li>
Puis définissez un ng-click
et modifiez $scope.currentId