1

モデル内のいくつかのアイテムをループしています。項目ごとに、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.

ただし、リンクは次のように作成されています。

localhost:8080/myapp/colors/%3Cscript%20id='metamorph-33-start'%20type='text/x-placeholder'%3E%3C/script%3E56%3Cscript%20id='metamorph-33-end' %20type='text/x-placeholder'%3E%3C/script%3E/shades

4

2 に答える 2

1

{{#each}} コレクション ビューに itemController を実装する必要があります。その itemController では、計算されたプロパティを使用して、URL を次のように生成できます。

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

サンプルビンはこちら

それが役に立てば幸い

于 2013-08-27T04:22:01.863 に答える