Тема: Snakeskin
Показать сообщение отдельно
  #704 (permalink)  
Старый 16.03.2016, 15:52
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
< some
создаем тег some
< - это сокращённый синтаксис для - tag, т.е.

- tag some


Даст такой же ответ. Сокращённые варианты есть лишь у некоторых директив и преследуют исключительно цель удобства написания

Цитата:
- some
? простая директива?
- обозначает, что следующий параметр будет имя директивы, но если директивы с таким именем нет, то будет использоваться либа директива output или global или const или decorator Т.е. всё зависи от контекста:

- template foo()
- var bla = 1
- bla /// 1
- bar = 2 /// создаст константу bar


Цитата:
# some
расширенная директива?
Расширенный синтаксис, его можно использовать с любой директивой и он просто означает, что все вложенные директивы должны использовать синтаксис #{ ... } и т.д. и это нужно, чтобы не было конфликтов с JS/CSS вставками, т.к. там используются блоки {}.

Цитата:
Например span.some
Сейчас использую вот так (класс вручную, а в переменной только класс)
Можно проще:

< span.${ @markup.spanClass }


И зачем взял в круглые скобки?

Цитата:
А вот так не получилось
< ${ @spanSelector }
    { @markup.spanText }


Тк на выходе получал
<span.some>span text</span.some>
Интерполяция в декларации тега требует, чтобы ты явно ставил разделитель класса, названия тега и ИД, например,

< ${tagName}#${idName}.${className1}.${className2}


Интерполяция также работает и при ручном задание атрибутов

< span ${attr1} = ${attrVal1}


А также можно использовать интерполяцию с объектом:

- var attrs = { foo: 1, bar: 2 }
< .foo ${attrs}
__________________
kobezzza
code monkey
Ответить с цитированием