Ich habe eine Registerkarte Schieberegler, wo Sie die Ansicht des Schiebereglers wechseln können, indem Sie die Registerkarte, die die ng-Wiederholung nach Eigenschaft filtert.Wie kann ich den ng-repeat-Filter in den Controller verschieben und die 'aktive' Klasse anwenden, wenn der Benutzer klickt?
Wie kann ich den Filter in den Controller verschieben und die 'aktive' Klasse anwenden, wenn der Benutzer zwischen den Registerkarten klickt?
html:
<section class="foodTabSlider" data-ng-controller="sliderCtrl">
<ul role="list">
<li ng-click="myFilter = {featured:true}">Featured</li>
<li ng-click="myFilter = {popular:true}">Popular</li>
<li ng-click="myFilter = {special:true}">Special</li>
</ul>
<figure lightslider id="content-slider" class="content-slider">
<figure role="listitem" data-ng-repeat="food in foods | filter:myFilter">
<img src="{{ food.img }}" class="img-responsive">
<figcaption>{{ food.figcaption }}</figcaption>
</figure>
</figure>
</section>
Controller:
'use strict';
angular.module('myApp').controller('sliderCtrl', function sliderCtrl($scope, foodSlider) {
$scope.foods = foodSlider;
};
});
ein Ausschnitt des Dienstes:
angular.module('myApp').factory('foodSlider', function() {
var factory =
[
{
img: 'images/food-1.png',
figcaption: 'caption 1',
featured: true,
special: true
},
{
img: 'images/food-2.png',
figcaption: 'caption 2',
popular: true,
featured: true
},
{
img: 'images/food-3.png',
figcaption: 'caption 3',
special: true
}
]
return factory;
});
dies funktioniert, danke, denken Sie, diese besser über den Controller erfolgt ist? Macht es einen Unterschied? – peeli
das ist einfacher, denke ich, sowieso 'myFilter' ist eine' $ scope' Variable :) – kukkuz
Könnten Sie bitte die Antwort als akzeptiert markieren? Vielen Dank! – kukkuz