Mit diesem Code versuche ich ausblenden dynamisch erzeugte divs anzeigen. Jedes div sollte eine entsprechende Schaltfläche anzeigen, die das entsprechende div anzeigt/versteckt. Wenn ich den Code ng-show="isShown{{course.Id}}"
entferne, dann wird das div korrekt angezeigt, so dass ich die ID innerhalb von ng-show nicht richtig kombiniere?Dynamisch ausblenden div von AngularJS generiert
plnkr: http://plnkr.co/edit/JbVz231UuPLVGbIFuiwJ?p=preview
src:
<!DOCTYPE html>
<html ng-app>
<head>
<link href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="http://twitter.github.com/bootstrap/assets/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" />
<script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.3/angular.min.js"></script>
<script>
function myCtrl($scope, $window) {
$scope.showHide = function(toShowOrHide) {
console.log('showhide : ' + JSON.stringify(toShowOrHide))
}
$scope.vm = {};
$scope.vm.Courses = [{
Id: 1,
Name: "Course 1",
isShown1: true
}, {
Id: 2,
Name: "Course 2",
isShown1: true
}];
$scope.isShown1 = true
$scope.isShown2 = true
}
</script>
</head>
<body ng-controller="myCtrl">
<div>
<div ng-repeat="course in vm.Courses">
<div>
<div ng-show="isShown{{course.Id}}" id={{course}}>
<label>{{course.Name}}</label>
<button ng-click="showHide(course)"> S/H </button>
</div>
</div>
</div>
</div>
</body>
</html>
Sie machen dies schwieriger, als es sein muss. Verweisen Sie einfach auf die 'isShow1'-Eigenschaft jedes Elements. d.h. ng-show = "course.isShown1". – Claies