Полимер: Для чего нужен атрибут-имя синтаксиса привязки данных \ $? - PullRequest
0 голосов
/ 12 октября 2018

Я столкнулся с неким синтаксисом.Документы для привязки данных в Polymer объясняют 2 различных синтаксиса для привязок данных:

  • Один для привязки к свойствам :
    prop-name=...
  • И один для привязки к атрибутам (например, href, src, style и т. Д.):
    attr-name$=...

ПопыткаИзвлекая уроки из исходного кода существующих компонентов, я натолкнулся на конструкцию name\$=..., и пока не нашел документации о том, что это такое.

В источнике для <paper-input> например, имеется следующая привязка данных для атрибута hidden для элемента label:

<label hidden\$="[[!label]]" ... >[[label]]</label>

hidden отсутствует даже в списке свойств, которые требуют привязки атрибута (хотя этот список может быть неполным).Так что я чувствую себя действительно застрявшим (и сбитым с толку) здесь.

Почему это hidden\$=... (то есть с обратной косой чертой), а не просто hidden$=..." (без обратной косой черты) или hidden=... (без обратной косой черты ибез знака доллара)?Что делает этот синтаксис?Для чего он используется?

1 Ответ

0 голосов
/ 25 октября 2018

Привязка данных отображается в локальном шаблоне DOM в виде атрибута HTML:

property-name=annotation-or-compound-binding attribute-name$=annotation-or-compound-binding

В левой части привязки указывается целевое свойство или атрибут.

Для привязки к свойству используйте имя свойства в форме атрибута (случай тире, а не camelCase), как описано в разделе Имя свойства для сопоставления имени атрибута:

<my-element my-property="{{hostProperty}}">

Этопример привязывается к целевому свойству, myProperty on.

Чтобы вместо этого связать с атрибутом, используйте имя атрибута, за которым следует $:

<a href$="{{hostProperty}}">

В этом примере привязывается катрибут href элемента привязки .

https://www.polymer -project.org / 3.0 / docs / devguide / привязка данных

...