1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/llyb120-cube.js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

cube.js

cube.js — это динамический шаблонный движок или легковесный mvvm-фреймворк, при котором представление автоматически обновляется в зависимости от изменения данных.

По сравнению с традиционными подходами MVVM, он выглядит более прямолинейным и логичным, так как способ его использования практически не отличается от работы с обычными серверными шаблонами.

Быстрый старт с cube.js

Вам потребуется импортировать cube.js

<script src='../dist/bundle.js'></script>

Вначале у вас может быть следующий вид данных

{
    d: 1,
    abc: [
        {
            ccc: 1,
        },
        {
            ccc: 2
        }
    ]
}

Используйте c-tpl для указания соответствующих данных

<div c-tpl='test'>

</div>

Используйте Cube.set, чтобы установить данные для слежения за ними. На самом деле вы можете использовать var, но тогда обновление будет происходить реже

<script>
    var data = {
        d: 1,
        abc: [
            {
                ccc: 1,
            },
            {
                ccc: 2
            }
        ]
    };
    // Если вы не выполните следующую строчку, всё равно можно будет произвести рендеринг
    Cube.set('test', data);
</script>

Напишите соответствующие шаблоны, используя команды for/each и if/else if/else. :value используется для двусторонней привязки данных (в настоящее время использование этого метода не рекомендовано, так как он находится в процессе разработки)

<div c-tpl='test'>
    <input type='text' :value='d'> 
    <ul>
     ~ each i, v in abc ~
            ~ each item in v ~
                ~ if Math.random() > 0.5
                    <li>~ item ~ 0.5+</li>
                ~ else if Math.random() > 0.5 ~
                    <li>else if item</LI>
                ~ else ~
                     <li>0.5-</li>
                ~ end ~
            ~ end ~
        ~ end ~
    </ul>
    ~ d ~
</div>

Вы можете объявить события с помощью : + имя события, например

<a href='javascript:;' :click='d++'>click me</a>

Измените эти данные или нажмите кнопку, чтобы увидеть изменения!

<script>
    data.abc[0].ccc = 2;
    setTimeout(function(){
        data.d = 'oh yes';
    }, 3000);
</script>

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/llyb120-cube.js.git
git@api.gitlife.ru:oschina-mirror/llyb120-cube.js.git
oschina-mirror
llyb120-cube.js
llyb120-cube.js
master