0
Я пытаюсь фильтровать данные с помощью нескольких «тегов» против плоских массивов без успеха. Вот то, что я пытался сделать ...Угловая фильтрация плоских массивов?
$scope.activeFacets = {
elementFacets: ["link"],
containerFacets: ["section", "siderail"]
}
$scope.data[{
"name": "Article Summary Large",
"partialName": "article-summary-large",
"isAngular": true,
"maxColumns": 4,
"relatedComponents": {
"elements": [
"promo-image",
"link",
"button"
],
"containers": [
"section-box-right-extra",
"section-mixed"
],
"purpose": [
"styling-content",
"promotion"
]
}
}, {
"name": "Article Summary Small",
"partialName": "article-summary-small",
"relatedComponents": {
"elements": [
"thumbnail-image",
"link"
]
}
}, {
"name": "Promo Thumb Medium",
"partialName": "promo-thumb-medium",
"isAngular": true,
"relatedComponents": {
"elements": [
"promo-image",
"link"
]
}
}]
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div ng-app="">
<ul>
<li ng-click="activeFacets.elementFacets.push('link')"/>Link</li>
<li ng-click="activeFacets.elementFacets.push('button')" />Button</li>
</ul>
<div ng-repeat="item in data | orderBy:'name' | filter:{relatedComponents.elements : activeFacets.elementFacets}">
{{ item.name }}
<ul>
<li ng-repeat="comp in relatedComponents.elements">
{{ comp }}</li>
</ul>
</div>
</div>
Мой вопрос, как я могу либо изменить масштаб так, что это работает, или как я могу фильтровать данные, прежде чем руки?
вы хотите теги быть динамичными HTTP: //stackoverflow.com/questions/15454900/is-it-possible-to-filter-angular-js-by-containment -in-another-array –
Да, в конечном счете они будут динамичными. –
Невозможно сделать это без вашей собственной функции фильтра либо в контроллере, либо в специальном фильтре. Также неясно, какие критерии фильтрации должны быть – charlietfl