2
참/거짓 스킬을 가진 사람들의 목록이 있으며 각 스킬과 관련된 버튼으로 데이터를 필터링하고 싶습니다.AngularJS - 토글 버튼이있는 필터 바인딩
스킬을 클릭 할 때 각 스킬의 토글 버튼을 만들고 스킬이 맞는 경우에만 사람을 보여주는 필터를 만듭니다. 둘 다 작동합니다.
토글 버튼과 필터를 어떻게 바인딩 할 수 있습니까? 버튼이 활성화되어 있으면 필터가 활성화됩니다. 그렇지 않은 경우 필터가 아닙니다.
버튼
<button id="word" ng-class="{'active-word': wordActive}" ng-click="wordButton()">Word</button>
app.controller('skillsCtrl', function ($scope) {
$scope.wordActive = false;
$scope.wordButton = function() {
$scope.wordActive = !$scope.wordActive;
}
필터
app.filter('wordskills', function() {
return function (items) {
var filtered = [];
for (var i = 0; i < items.length; i++) {
var item = items[i];
if (item.word == true) {
filtered.push(item);
}
}
return filtered;
};
});
보기
<div class="container" ng-repeat="person in group | wordskills">
가 대단히 Faly 감사 정확히 내가 원하는대로 작동합니다! 이 줄에 대한 설명을 좀 해주실 수 있습니까? 'return word? 정말 코드를 이해하기를 원하며'?'와'el' 함수에 익숙하지 않습니다. –
'삼항 연산자'라고합니다. word가 true이고 right 부분 (wch는 항목) 인 경우 단어가 false 인 경우 왼쪽 부분을 반환합니다 (items.filter (el => el.word)). 따라서 if (word) { return items.filter (el => el.word)} else {돌아 가기 item} – Faly
el과 quick에 대한 빠른 연구가 끝난 후, 나는 그 줄을 이해한다고 생각합니다. 도와 주셔서 정말로 고맙습니다 ! –