В AngularJS для данного набора данных животных, что это лучший способ, чтобы производить как видличности и вид размер?Сортировка данных по категориям и указанием категории заголовки
вид Личность
Animals by personality:
Cute
Cat
Dog
Scary
Snake
Shark
вид Размер
Animals by size:
Small
Cat
Medium
Dog
Snake
Large
Shark
Dataset
$scope.animals = [
{
name: 'Cat',
pers: 'cute',
size: 'small'
},
{
name: 'Dog',
pers: 'cute',
size: 'medium'
},
{
name: 'Snake',
pers: 'scary',
size: 'medium'
},
{
name: 'Shark',
pers: 'scary',
size: 'large'
}
];
То, что я в настоящее время делают
Для зрения личности, я в настоящее время использую следующий код:
<h1>Animals by personality</h1>
<h2>Cute</h2>
<li ng-repeat="animal in animals | filter: 'cute'">
{{ animal.name }}
</li>
<h2>Scary</h2>
<li ng-repeat="animal in animals | filter: 'scary'">
{{ animal.name }}
</li>
а затем для зрения размера, я скопируйте вышеуказанный код и измените h1, h2s и фильтры.
Весь смысл здесь: Сортировка набора данных по категориям, но отображение заголовка категории для каждой категории.
Так что мой вопрос в том, что это очень швы, как известная проблема? Как лучше всего это решить?
Благодаря. Теперь, что, если у животного есть две личности, скажем, кот, который является «симпатичным» и «страшным»?Что делает ваш код, так это создание новой группы 'cute and scary' и помещает туда кошку. Тем не менее, я хотел бы, чтобы кошка появлялась как в «симпатичной», так и в «страшной» группе, вместо того, чтобы создавать для нее совершенно новую группу. http://jsfiddle.net/5DMpX/3/ – Ben
Ну, это намного сложнее. Я бы сделал, в своей собственной директиве, конечно, создать 2D-массив из исходного набора данных. Первое измерение запоминает название (милый, страшный, ...), второй - данные. Например, это довольно просто в функции ссылок. Теперь для отображения я бы просто использовал два вложенных ng-repeat :). – Blackhole