如何阻止Smarty的,当我使用AngularJS在同一模板抛出一个错误。 我有这个代码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
如果我换{{我}}的{{4}}或任何其他数字它工作正常。 我可以用数学以及{{8 + 2}}将显示10页。 是Smarty的做angularJS的数学?
试试这个:
<li ng-repeat="i in items">
<p class="item">{literal}{{i}}{/literal}</p>
</li>
从Smarty的网站报价...
{字面}标签允许字面数据块。 这通常用于围绕Javascript或样式表的块,其中{花括号}将与模板定界符语法干扰。 {字面} {/文字}标签内的任何不被解释,但显示的原样。
更清洁的解决方案:你可以改变AngularJS正是如此的模板分隔符:
angular.module('app', [])
.config(['$interpolateProvider', function ($interpolateProvider) {
$interpolateProvider.startSymbol('[[');
$interpolateProvider.endSymbol(']]');
}]);
您可以配置角度使用比{{}}其他插值符号: https://stackoverflow.com/a/11108407/215945