2014-07-24 4 views
0

У меня есть шаблон, как показано нижеповторное использование части шаблона

<div> 
    <a href="{{href}}" class="{{class}}">{{linkText}}</a> 
    same duplicate link below 
    <a href="{{href}}" class="{{class}}">{{linkText}}</a> 
</div> 

Как вы можете видеть выше <a href="{{href}}" class="{{class}}">{{linkText}}</a> повторно используемого в два раза. Есть ли какие-либо возможные решения, чтобы определить его один раз и использовать его столько раз, сколько мне нужно.

+0

Усы является-дизайн языка с низким энергопотреблением, так как абстракции, которые не представляется возможным. Есть несколько хороших комментариев о том, почему использование более мощного языка для шаблонов является хорошей идеей в презентации здесь: http://facebook.github.io/react/blog/2014/05/06/flux.html – Douglas

ответ

1

Вы можете использовать итерацию усов.

<div> 
    {{#links}} 
    <a href="{{href}}" class="{{class}}">{{linkText}}</a> 
    {{/links}} 
</div> 

Но вам нужны ваши данные для повторения.

{ 
    "links" : [{ 
     "href" : 1, 
     "class" : 1, 
     "linkText" : 1, 
    },{ 
     "href" : 1, 
     "class" : 1, 
     "linkText" : 1, 
    }] 
} 
+0

Приходите на прием ... Надеюсь, вы снова прочтете вопрос. Речь идет не о списках. – Exception

+0

Прежде чем в шаблоне было несколько якорей, теперь есть только один. Таким образом, шаблон менее избыточный. Списки - это способ сделать это, но если есть причина, почему списки не являются хорошим решением, тогда вам нужно быть более конкретным относительно того, что вы хотите. – Wio

+0

Я решил это, используя Partials :) И ваш ответ также действителен, но если я хочу следовать другому подходу. – Exception

3

Вы можете использовать либо Partials или Components для достижения этой цели. Ниже приведен пример использования Partials

http://jsfiddle.net/GdVz8/

<script id='template' type='text/ractive'> 
<div> 
    {{>link}} 
    same duplicate link below 
    {{>link}} 
</div> 

<!-- {{>link}} --> 
    <a href="{{href}}" class="{{class}}">{{linkText}}</a> 
<!-- {{/link}} --> 
</script> 
Смежные вопросы