Сообщение от Shaci
|
хотя я не верю, что у тебя что-то получится
|
А тя не смущает что оно УЖЕ работает)?
FRP в действии - Ни одного события, просто задекларированное состояние системы:
<script src="http://mychamber.ru/lib/ui.js"></script>
<style type="text/css"> .todo:hover { background-color : #b7e2ff } </style>
<div ui="widget">
<div for="todos as todo" class="todo">
<input bind="todo.selected" type="checkbox">
{todo.selected} | {todo.text}
</div>
<hr>
<div for="selectedTodos as todo" class="todo">
{todo.text}
</div>
</div>
<script>
ui['widget'] = function() {
this.todos = [
{text: 'погулять ', selected: false},
{text: 'попить пива', selected: false},
{text: 'разработать ui', selected: false},
{text: 'покакать', selected: false},
{text: 'сжечь документацию ангуляра', selected: false}
];
this.selectedTodos = '{todos.filter(todo=>todo.selected)}';
};
</script>
Тут показаны все фитчи: FRP, стрелочные функции и формулы =)
События селекторы и коллекции конечно тоже работают, там первым аргументом передается $ который всем этим занимается аля jQuery, но мы планируем от него отказаться в пользу полной декларативности =) по этому я его не использовал в демо и убрал половину примера ToDo (например убрал кнопочки добавления и удаления тудушек)
В будущем в формулах кстати можно будет использовать специальные значения вроде $mouse.x или $location и.т.п.