Показать сообщение отдельно
  #58 (permalink)  
Старый 22.10.2015, 04:11
Профессор
Отправить личное сообщение для ТОТ_САМЫЙ Посмотреть профиль Найти все сообщения от ТОТ_САМЫЙ
 
Регистрация: 10.09.2015
Сообщений: 184

вот глянь на юишку


контроллер:
<script src='http://localhost/ui/build/ui.js'></script>

<script>
ui.controller('User', {
    q: 11,
    plus: function () {
        this.q++
    }
})
</script>


<div>{{User.q}}</div>
<button on-click="User.q++">plus++</button>



компонент:
<script src='http://localhost/ui/build/ui.js'></script>

<script>
ui.component('ui-ololo', {
    cnt: 11,
    template: '<span on-mousemove="this.cnt++">span {{this.cnt}} </span>'
})
</script>


<ui-ololo data-repeat='5'></ui-ololo>




можно даже попрограммировать на html:
<script src='http://localhost/ui/build/ui.js'></script>

<body on-mousemove='x=$event.clientX, y=$event.clientY'>
x: {{x}} y:{{y}}

<button data-if='x > 195' style='height:{{y}}px'>не нажмешь ;)</button>
</body>




И кстати, у тебя распространенная ошибка новичка, описывать ВНУТРЕННЕЕ УСТРОЙСТВО компонента, и ВНЕШНЕ его использовать это разные вещи. ТО есь в яваскрипте и шаблонах нужно опсиывать внутреннее устройство компонента, а в html лишь его использовать, дерагя за нужные рычажки и настроечки. То есть вначале мы описали кубик лего, а потом его используем где хотим. И вот это использование ты ошибочно и называешь "программированием в html".

То есть код функции мы пишем в яваскрипте, а используем в html, данные хранятся в яваскрпте, а рисуем в html.
Логика и программирование в яваскрипте. Вьюха и отображение html.


То есть датабиндинг должен быть в том месте КУДАААА мы рисуем, а не откуда мы рисуем.
Иначе есть вот какие минусы:

1) это неудобно, ну да идиотам может и удобно но профессионалам не удобно
2) поменял верстку, лезь и в яваскрипт ищи что там могло в эту верстку пытаться нарисовать и менай там селекторы
3) нечайно назвал класс одинакого, он подошел под селектор, теперь что то из яваскрипта в него рисует и ты не можешь понять с какого хрена, ты ведь не просил.
4) Читая верстку непонятно что где в ней будет происходить, где статические даныне а где класс изменяться будет например, непонятно к чему привязан инпат и.т.п.

Ну то есть датабиндинг должен быть в месте КУДА мы рисуем, а не откуда рисуем, почему? Потому что связь "один к многим". Это как не перент решает для кого он будет перентом и кто его чайлдами, а чайлды вызывают его метод appendsChild чтобы связаться с ним и добавиться в его список. потому что связь один к многим.

иными словами у тебя из одного места могут разные части разметки попытатсья данные взять.

Последний раз редактировалось ТОТ_САМЫЙ, 22.10.2015 в 04:48.
Ответить с цитированием