Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

четверг, 14 октября 2010 г.

Javascript. PURE. Фильтрация и сортировка в директивах с итерациями.

При проходе по коллекции объектов можно фильтровать или сортировать значения.
См. комментарии в коде примера.
...

<!-- HTML шаблон -->
<ul>

<li></li>
</ul>

<script>
var data = {
legs:4,
animals:[
{name:'dog', legs:4},
{name:'cat', legs:4},
{name:'bird', legs:2},
{name:'mouse', legs:4}
]
};

// Директивы шаблонизатора
var directive = {
'li':{
'animal<-animals':{
'.':'animal.name'
},
sort:function(a, b){
return a.name > b.name ? 1 : -1;
},
// Текущий объект на каждой итерации доступен
// через свойство item параметра функции.
// Функция должна возвращать Boolean (true, false).
// Если функция возвращает false, объект пропускается.
filter:function(a){
return a.context.legs === a.item.legs;
}
}
};

$('ul').render(data, directive);
</script>

...

Комментариев нет:

Отправить комментарий