9

同じテンプレートで AngularJS を使用しているときに、Smarty がエラーをスローしないようにするにはどうすればよいですか。このコードを含む Smarty ページ テンプレートがあります。

 <li ng-repeat="i in items">
      <p class="item">{{i}}</p>
 </li>

また、ブラウザで表示すると空白のページが表示されます。Apache の error_log に次のような大きなエラーが表示されます。

 PHP Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template ... <p>{{i}}</p>; unknown tag "i

{{i}}{{4}}または他の数字に交換すると、正常に動作します。また、数学も使用できます。{{8+2}} はページに 10 を表示します。angularJS の計算を行っているのは Smarty ですか?

4

3 に答える 3

17

これを試して:

<li ng-repeat="i in items">
    <p class="item">{literal}{{i}}{/literal}</p>
</li>

Smarty サイトからの引用...

{literal} タグを使用すると、データのブロックを文字どおりに解釈できます。これは通常、{中かっ​​こ} がテンプレート区切り記号の構文に干渉する Javascript またはスタイルシート ブロックの周囲で使用されます。{literal}{/literal} タグ内は解釈されず、そのまま表示されます。

于 2012-10-05T01:10:01.417 に答える
4

{{}} 以外の補間記号を使用するように Angular を構成できます: https://stackoverflow.com/a/11108407/215945

于 2012-10-05T22:08:47.340 に答える