2

次のハンドルバーテンプレートがあります。

{% handlebars "header" %}
<div class="header row-fluid">
  <div class="logo"> <a href="index.html"><span>Welcome!</span><span class="icon"></span></a> </div>
  <div class="top_right">
    <ul class="nav nav_menu">
      <li class="dropdown"> <a class="dropdown-toggle administrator" id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="/page.html">
        <div class="title"><span class="name">George</span><span class="subtitle">Awesome Developer</span></div>
        <span class="icon"><img src="{{MEDIA_URL}}images/dashboard/thumbnail_george.jpg"></span></a>
      </li>
    </ul>
  </div>
  <!-- End top-right --> 
</div>
{% endhandlebars %}

問題は、{{MEDIA_URL}}がもちろんここではコンテキストから外れているため、画像をレンダリングできないことです。srcにbindAttrを使用してみましたが、まだ問題があります。この問題を解決するにはどうすればよいですか。

ちなみに、このテンプレートは静的です。ハンドルバーを使用している唯一の理由は、Emberの{{action}}ヘルパーを使用して、これらのボタンの1つをクリックすると新しい状態に移行するためです。これは正しい方法ですか?

更新: 私の一時的な解決策は、コントローラーにmediaUrlプロパティがあり、メディアURLをハードコーディングしたことです。ただし、メディアのURLはサーバー側でいつでも変更される可能性があるため、これは望ましくありません。

4

1 に答える 1

1

サーバーにテンプレートを処理させ、クライアントに送信する前に正しいMEDIA_URLを挿入することをお勧めします。私が考えることができる他の唯一の方法は、レンダリングする前にサーバーに別のクエリを実行してそのURLを取得することです。

于 2012-12-10T18:30:03.300 に答える