2013-08-27 2 views
1

Я перебираю несколько элементов в модели. Для каждого элемента я хотел бы создать внешнюю ссылку на страницу в моем приложении, которая не использует emberjs. Я думал, что это будет тривиально, но это не работает так, как я думал, что это сработает.Как создать внешнюю ссылку из цикла emberjs?

Это то, что у меня есть:

<tbody> 
    {{each model itemViewClass=App.ColorView}} 
</tbody> 

<script type="text/x-handlebars" id="colorTemplate"> 
    <tr> 
       <td>{{date}}</td> 
       <td><a href="/myapp/colors/{{id}}/shades">{{name}}</a></td> 
    </tr> 
</script> 

App.ColorView = Em.View.extend({ 
    templateName: 'colorTemplate' 
}); 

Я думал, что это будет создавать ссылки, как эти:

/myapp/colors/5/shades 
/myapp/colors/45/shades 
/myapp/colors/6/shades 
...etc. 

Однако связь создается следующим образом:

локальных : 8080/MYAPP/цвета /% 3Cscript% 20id = 'Metamorph-33-старт' % 20type = 'текст/х-заполнитель' % 3E% 3C/сценарий% 3E56% 3Cscript% 20id = 'Metamorph-33-конец' % 20type = 'т ext/x-placeholder '% 3E% 3C/script% 3E/оттенки

ответ

1

Вы должны реализовать элемент управления элементами в виде {{#each}} коллекции. В том, что itemController можно использовать вычисленное свойство для генерации URL, как

url : function() { 
return "/myapp/colors/"+this.get('id')+"/shades"; 
}.property() 

Вот Sample Bin

Надеется, что это помогает

0

для этого необходимо использовать {{bindAttr href="url"}}. url - это метод, который генерирует URL-адрес

Смежные вопросы