Подтвердить что ты не робот

Ember.js привязывает стиль css в шаблоне

Это решено с Ember 1.8 с движком HTMLBars.

Я хотел бы привязать стиль CSS в шаблоне. Что было бы решение?

Я пробовал это:

<div class="bar" style="width:{{barWidth}}px"></div>

но элемент DOM выглядит следующим образом:

<div class="bar" style="width:<script id='metamorph-28-start' type='text/x-placeholder'></script>5.000000000000002<script

id = 'metamorph-28-end' type = 'text/x-placeholder' > px" >

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

Мне интересно, какой лучший способ достичь таких вещей с Ember.js


Есть что-то, чего я пока не получаю.

У меня есть шаблон:

<script type="text/x-handlebars" data-template-name="listTemplate">
<ul id="list">
    {{#each App.list}}
      <li {{bindAttr data-item-id="itemId"}}>
        <div>
            <span class="label">{{itemName}}</span>
            <div class="barContainer">
              <div class="bar" {{bindAttr style="barWidth"}}></div>   
              <div class="barCap"></div>
            </div>
        </div>
      </li>
    {{/each}}
    </ul>

i находится в каждом цикле, который пересекает мой контент ArrayProxy... и ширина полосы варьируется в зависимости от значения каждого элемента в списке. Ваше решение здесь не будет работать, так как представление UL и мне нужно значение barWidth для каждой модели. и я не хочу менять мою модель с помощью связанных с CSS вещей вроде "width: ### px"

Есть ли другой элегантный способ решить, что я пытаюсь сделать? может быть, это будет радикально отличаться. Я очень новичок в ember.js и пытаюсь найти лучшие практики:)

4b9b3361

Ответ 1

Задайте строку в вашем представлении, которая выглядит как "width: 100px", а затем привяжите ее к вашему div с помощью помощника bind-attr: <div {{bind-attr style="divStyle"}}>Test</div>

http://jsfiddle.net/tomwhatmore/rearT/1/

Ответ 2

Чтобы упростить все это, я создал крошечный помощник руля для emberjs, который позволяет связывать любые свойства стиля. Вы можете посмотреть https://github.com/yderidde/bindstyle-ember-helper

Ответ 3

Добавить unbound:

<div class="bar" style="width:{{unbound barWidth}}px"></div>

Ответ 4

В Ember 2.0:

<div class="bar" style="width:{{barWidth}}px"></div>

будет работать.