Javascript.RU

Результаты опроса: Как вам UI
Похоже на унылое говно 20 68.97%
Однозначно буду использовать 7 24.14%
Пока не разобрался что это 2 6.90%
Голосовавшие: 29. Этот опрос закрыт

Создать новую тему Ответ
 
Опции темы Искать в теме
  #471 (permalink)  
Старый 02.02.2014, 21:27
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Maxmaxmaximus7
как передавать несколько значений
через запятую, []
Сообщение от Maxmaxmaximus7
css:color="red"
css.color="red" все значения сss строковые если ты хочешь ее переменной оформляй кодом который будет вычеслятся, к примеру $red, {red}
Maxmaxmaximus7,
объясни почему <div>, почему не <i></i>, или <m></m>, я с той позиции, что точка одна клавиша, а : -две

Последний раз редактировалось Vlasenko Fedor, 02.02.2014 в 21:40.
Ответить с цитированием
  #472 (permalink)  
Старый 02.02.2014, 21:35
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Maxmaxmaximus7, ты юзаешь eval?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #473 (permalink)  
Старый 02.02.2014, 21:40
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus7
 
Регистрация: 08.01.2014
Сообщений: 354

Сообщение от cyber
ты юзаешь eval?
нет, я юзаю new Function() и создаю Exp обьекты, но не об этом щас) я ивал для простоты написал

Сообщение от Poznakomlus
объясни почему <div>, почему не <i></i>, или <m></m>
пиши элемент какой хочешь, это к сути не относится.

Сообщение от Poznakomlus
я с той позиции, что точка одна клавиша, а : -две
выходит сделаю несколько разделителей, но мне хотелось найти иделаьный вариант и заставить всех писать на нем(

Сообщение от Poznakomlus
css.color="red" все значения сss строковые
ну видишь, получится что одни директивы принимают строки, другие выражения, третьи вначале строки потом выражения. и все это хрен запомнишь. надо как-то унифицировать, придумать идеальный синтаксис. или это ложный страх у меня?

Сообщение от Poznakomlus
объясни почему <div>
потому что див это блок семантически нейтральный) я использую в примерах его чтобы дать понять что не важно какой элемент там будет) видимо задумка не оч удается

Последний раз редактировалось Maxmaxmaximus7, 02.02.2014 в 21:45.
Ответить с цитированием
  #474 (permalink)  
Старый 02.02.2014, 21:54
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus7
 
Регистрация: 08.01.2014
Сообщений: 354

ui.directive('onClick', function(scope, element, attrs, params){
    attrs = // {onClick: 'alert(11)'}
    params = // [exp]
});



ну короче как-то так будет наверное, типа будет метод "распарсить параметры".

exp обьект это обьект выражения который можно вызвать передав область видимости, обычно в них передается текущий скоуп exp($scope). Например в этом exp будет содержаться код алерта который мы можем выполнить в контексте чего либо, отслеживать изменения значения этого выражения и прочее. короче распарсили параметры

Последний раз редактировалось Maxmaxmaximus7, 02.02.2014 в 21:58.
Ответить с цитированием
  #475 (permalink)  
Старый 02.02.2014, 22:06
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus7
 
Регистрация: 08.01.2014
Сообщений: 354

или лучше вот так, не exp а сразу значения, exps хранятся в обьекте params и если надо можем достать, так проще, мы просим скоуп слушать изменения в обьекте параметров и как только они будут, мы будем переназначать css свойства )) к слову элемент поставляется в jQuery подобной коллекции как вы заметили.

<div css:position="panel.x, panel.y">

</div>




ui.directive( 'cssPosition', function( scope, element, attrs, params ) {
    
    element.css( 'position', 'absolute' );


    scope.$watch( params, function() {

      var x = params[0]; // 102
      var y = params[1]; // 37

      element.css( {
        'left'    : x,
        'top'     : y
      } );

    } );
    

  } );



хотим просто получить строку с параметрами и распарсить руками? не вопрос
attrs['cssPosition'] // 'panel.x, panel.y'

Последний раз редактировалось Maxmaxmaximus7, 02.02.2014 в 22:12.
Ответить с цитированием
  #476 (permalink)  
Старый 02.02.2014, 22:46
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus7
 
Регистрация: 08.01.2014
Сообщений: 354

в принципе инстанцирование контроллеров было нужно только чтобы была возможность достучиваться до свойств родительских контролеров, и я подумал, а почему не сделать ТАК????

<div ui:controller="Main">

  <div ui:controller="Panel">

    {name}       // Панель
    {Panel.name} // Панель
    {Main.name}  // Крот

  </div>

</div>




function Main() {
    name = 'Крот'
}

function Panel() {
    name = 'Панель'
}


за идею спасибо небезызвестному cyber

Последний раз редактировалось Maxmaxmaximus7, 02.02.2014 в 22:49.
Ответить с цитированием
  #477 (permalink)  
Старый 02.02.2014, 23:24
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от Maxmaxmaximus7
за идею спасибо небезызвестному cyber
пожалуйста
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #478 (permalink)  
Старый 03.02.2014, 12:21
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus7
 
Регистрация: 08.01.2014
Сообщений: 354

как обращаться к внешнему контроллеру если внутри в таким же именем
короче я думаю вот на этом остановимся:

<div ui:controller="ParentList = List('parent')">

  <div ui:controller="List('child')">
    {name}            // child
    {List.name}       // child
    (ParentList.name) // parent
  </div>

</div>


function List( newName ) {
    name = newName
}



И вводим негласное правило, имена контроллеров должны быть с заглавной буквы. Тут нет такого что вот конструктор с заглавной а сам инстанс с маленькой, нет больше ни какого инстанса, контроллер разворачиваетя в текущий скоуп.

то есть вот контроллер

function List() {
    name = 'list'
}


и когда мы напишем так

<div ui:controller="List"></div>

то текущий скоуп у нас станет таким

var scope = {}
scope.name = 'list';
scope.List = scope;


--------
напишем так
<div ui:controller="Ololo = List"></div>


скоуп станет таким

var scope = {}
scope.name = 'list';
scope.List = scope;
scope.Ololo = scope;


короче все это типа ОПАСННО что перекроется ВНЕШНЕЕ бла бла бла, но это не так, с этим мы тоже поборимся

Последний раз редактировалось Maxmaxmaximus7, 03.02.2014 в 12:41.
Ответить с цитированием
  #479 (permalink)  
Старый 03.02.2014, 12:54
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Я возможно глупость сморожу, но все же:
По сути функции контроллеры использует тольку ui, почему бы не переписывать эти функции в локальный объект, и затирать их с глобального window.
Сообщение от Maxmaxmaximus7
короче все это типа ОПАСННО что перекроется ВНЕШНЕЕ бла бла бла, но это не так, с этим мы тоже поборимся
О чем ты?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #480 (permalink)  
Старый 03.02.2014, 14:02
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

> так же как и ангуляр, тока скобки одинарные

Это как? Для каждого атрибута по отдельной директиве?
Мне бы хотелось вот так:
<a href="ya.ru" tabindex="{tabIndex}">ya.ru</a>


> потому что в верстве описывается структура, это то место где мы все описываем и соединяем воедино, точки крепления css классов и лочки препления логики javascript.

Точки крепления - да. Но не логика же вычисления условий.

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

Не контроллеры, а вью-модели. И они как-раз не могут быть без жесткого зацепления с шаблоном. Поэтому что они обеспечивают взаимосвязь верстки с логикой.

> В общем то же что и в ангуляре.

Тогда почему бы не использовать ангуляр?
__________________
.ня
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обсуждений тред cyber Оффтопик 2130 03.10.2018 08:10
React'а тред melky Оффтопик 246 13.11.2016 08:07
Webpack'а тред nerv_ Сборка проекта, утилиты 58 07.05.2016 13:46
Github Atom'а тред melky Оффтопик 16 01.04.2015 07:44