Показать сообщение отдельно
  #311 (permalink)  
Старый 25.10.2013, 06:40
Аспирант
Посмотреть профиль Найти все сообщения от __Maxmaxmaximus__
 
Регистрация: 25.10.2013
Сообщений: 30

Сообщение от 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 и.т.п.

Последний раз редактировалось __Maxmaxmaximus__, 25.10.2013 в 07:24.
Ответить с цитированием