Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.10.2013, 17:06
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Фреймворк Matreshka.js
Послезавтра, во вторник, выложу первую статью серии о моём фреймворке, а пока небольшая интрига:

Пр вызове кода внизу, таблица реагирует самостоятельно. Код реален и работает в Internet Explorer 8. Я поборол Object.defineProperty! Фак йеах.
Статья будет расположена по этому адресу: http://habrahabr.ru/post/196146/
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности

Последний раз редактировалось FINoM, 27.10.2013 в 18:03.
Ответить с цитированием
  #2 (permalink)  
Старый 28.10.2013, 11:45
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от FINoM
Пр вызове кода внизу, таблица реагирует самостоятельно
ангуляр

upd: http://learn.javascript.ru/play/MNhEd
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 28.10.2013 в 11:57.
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2013, 13:03
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от nerv_
ангуляр
Не MVVM
Вся логика в JS, никакой логики в HTML.

var Example = Class({
    'extends': MK.DOMArray,
    constructor: function() {
        this
            .initMK()
            .bindElement( this, 'table tbody' )
        ;
    },
    renderer: function( object ) {
        return '<tr><td class="a"></td><td class="b"></td><td class="c"></td></tr>';
    }
});


var ExampleObject = Class({
    'extends': MK.Object,
    constructor: function( o ) {
        this
            .initMK()
            .jset( o )
            .on( 'render', function() {
                this.bindElement({
                    a: this.$( '.a' ),
                    b: this.$( '.b' ),
                    c: this.$( '.c' )
                }, MK.htmlp );
            })
        ;
    }
});
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #4 (permalink)  
Старый 28.10.2013, 13:41
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от FINoM
Не MVVM
не понял

Сообщение от FINoM
Вся логика в JS, никакой логики в HTML
а где ты увидел логику в html? Зато я у тебя вижу классы для выборки:
Цитата:
a: this.$( '.a' ),
b: this.$( '.b' ),
c: this.$( '.c' )
что, на мой взгляд, может вводить в заблуждение. Т.е. получается, нудно следить как минимум за служебными селекторами.

И получается что все "биндинги" необходимо писать в js коде. А их, как правило, много, вместо того, чтобы задать декларативно - дешево и сердито.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 28.10.2013 в 13:43.
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2013, 14:15
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от nerv_
что, на мой взгляд, может вводить в заблуждение. Т.е. получается, нудно следить как минимум за служебными селекторами.
Это делается в цикле, пробегом по свойствам и выборкой элементов по селектору (например, data-key). Давай через несколько дней поговорим
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #6 (permalink)  
Старый 29.10.2013, 14:28
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Хэхэй, смотри ссылку в первом посте.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2013, 00:50
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от FINoM
Не MVVM
вот теперь понял

Ознакомился со статьей на хабре.
Цитата:
Правильный способ (подробнее о методе .each в статье об MK.Object):
Цитата:
Я предпочитаю разграничивать «комплексные» элементы приложения таким образом, чтоб каждый элемент являлся элементарным классом (что я имею в виду, будет понятнее в статье о наследовании), привязок в котором не так много. Возможно, мой подход сильно деформирован убеждением о том, что JS код и HTML должны быть максимально разграничены: верстальщик верстает, а программист, если и вносит, то только минимальные и необходимые изменения.
Я об этом и толкую Любой верстальщик может декларативно задавать поведение, глядя на написанное ранее js програмистом. Если сомневается - не использует. Все просто.

Попытаюсь обосновать плюсы декларативности:
<div>
    <input type="text" ng-model="model.field" />
</div>

- я вижу куда именно к модели привязан инпут, без необходимости лезть в js-код
- код привязок (биндингов) преимущественно "лапша". Только место занимает и внимание на себя отвлекает. Его, кстати, очень много в приложениях.
- возможность задавать поведение декларативно
<div ng-show="model.type[0|1]"></div>

- сходу не помню )

Цитата:
Цитата:
Обновлений в html будет много, а надо только одно, как этим управлять?
Почему вы так решили? ДОМ изменяется только тогда, когда меняется значение свойства:
DjDiablo об этом писал

Цитата:
Предложите, пожалуйста, какой-нибудь вариант решения.
Цитата:
Тут к сожалению нет решения, для js точно, в каком-нибудь TypeScript можно, а тут нет.
Цитата:
Искать по bindElement
Цитата:
Как-то нетривиально, а если ещё смешивать с какими-нибудь другими либами, вообще не представляю как люди будут ориентироваться в таком коде.
а как люди в борьще ориентируются?

p.s.: комменты на хабре веселят:
Цитата:
И снова зависимость от jquery
required: a computer
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #8 (permalink)  
Старый 23.03.2015, 16:51
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Вышла первая версия Матрешки, ура! Как бонус, появилась полная, всеобъемлющая документация на русском: http://ru.matreshka.io/

Следите за блогом Матрешки на Хабре, скоро выйдет статья с подробностями
http://habrahabr.ru/company/matreshka/
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #9 (permalink)  
Старый 23.03.2015, 17:02
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

nerv_, за годы работы с Матрешкой, ни разу не возникало проблем с байндингами внутри JS кода. Напротив, я многократно убедился, что никакой логики в HTML быть не должно.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #10 (permalink)  
Старый 23.03.2015, 17:30
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от рони
при скролинге ie уходит в аут
Честно говоря, в ИЕ дяже не проверял. А какая версия?
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой фреймворк выбрать? нужно а) компоненты формы б) ajax подгрузка объектов ... plazzzm Библиотеки/Тулкиты/Фреймворки 5 05.02.2013 17:41
Какой фреймворк выбрать gogo Библиотеки/Тулкиты/Фреймворки 4 11.12.2012 13:24
откуда скачать ScriptJava фреймворк Alisher Библиотеки/Тулкиты/Фреймворки 4 01.02.2012 16:08
Что такое библиотека, фреймворк, тулкит и платформа. B~Vladi Оффтопик 3 03.11.2010 13:36
Extjs + шаблонизатор + фреймворк Sea ExtJS 1 24.09.2010 15:52