AngularJS 个 Twig 中的组件
AngularJS components in Twig
我在使用 twig 作为模板引擎的 symfony 项目中集成了 AngularJS。
但是在使用循环时,我的模板崩溃了:
<md-item ng-repeat="{{ '{%item in menu%}' }}">
<a>
<md-item-content md-ink-ripple layout="row" layout-align="start center">
<div class="inset">
<ng-md-icon icon="{{ '{{item.icon}}' }}"></ng-md-icon>
</div>
</md-item-content>
</a>
</md-item>
我的控制台打印:
'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression
那么有什么好的方法可以在 Twig 中使用 angularJS loops/variables 等吗?
谢谢和问候!
可能 AngularJS 语法有问题,绝对不是 Twig。使用 twig 和 Angular 1.4.5 的标准语法进行测试。这应该有效:
<md-item ng-repeat="item in menu">
<a>
<md-item-content md-ink-ripple layout="row" layout-align="start center">
<div class="inset">
<ng-md-icon icon="{{ '{{item.icon}}' }}"></ng-md-icon>
</div>
</md-item-content>
</a>
</md-item>
我觉得应该是:
<md-item ng-repeat="item in menu">
<a>
<md-item-content md-ink-ripple layout="row" layout-align="start center">
<div class="inset">
<ng-md-icon icon="{{ '{{item.icon}}' }}"></ng-md-icon>
</div>
</md-item-content>
</a>
在 ng-repeat
中,您不必使用 大括号 。
为了避免树枝混淆,您应该将 angularjs 括号更改为其他内容:
angular.module('myApp', []).config(function($interpolateProvider){
$interpolateProvider.startSymbol('{*').endSymbol('*}');
});
我在使用 twig 作为模板引擎的 symfony 项目中集成了 AngularJS。
但是在使用循环时,我的模板崩溃了:
<md-item ng-repeat="{{ '{%item in menu%}' }}">
<a>
<md-item-content md-ink-ripple layout="row" layout-align="start center">
<div class="inset">
<ng-md-icon icon="{{ '{{item.icon}}' }}"></ng-md-icon>
</div>
</md-item-content>
</a>
</md-item>
我的控制台打印:
'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression
那么有什么好的方法可以在 Twig 中使用 angularJS loops/variables 等吗?
谢谢和问候!
可能 AngularJS 语法有问题,绝对不是 Twig。使用 twig 和 Angular 1.4.5 的标准语法进行测试。这应该有效:
<md-item ng-repeat="item in menu">
<a>
<md-item-content md-ink-ripple layout="row" layout-align="start center">
<div class="inset">
<ng-md-icon icon="{{ '{{item.icon}}' }}"></ng-md-icon>
</div>
</md-item-content>
</a>
</md-item>
我觉得应该是:
<md-item ng-repeat="item in menu">
<a>
<md-item-content md-ink-ripple layout="row" layout-align="start center">
<div class="inset">
<ng-md-icon icon="{{ '{{item.icon}}' }}"></ng-md-icon>
</div>
</md-item-content>
</a>
在 ng-repeat
中,您不必使用 大括号 。
为了避免树枝混淆,您应该将 angularjs 括号更改为其他内容:
angular.module('myApp', []).config(function($interpolateProvider){
$interpolateProvider.startSymbol('{*').endSymbol('*}');
});