在Symfony 2中使用Angular JS值作为TWIG“path”函数的参数

时间:2014-12-30 20:10:14

标签: angularjs symfony twig

路径功能中的twig不会解释{[{project.id}]} AngularJS变量。这是我的代码:

<section class="main" ng-controller="PaginationDemoCtrl">
    <table class="table table-striped table-hover table-responsive">
        <thead>
            <tr>
                <th>{% trans %}Id{% endtrans %}</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="project in filteredProjectList">
                <td>
                    <a href="{{ path('project_show', { 'projectId': {[{project.id}]} }) }}">
                        {[{ project.id }]}
                    </a>
                </td>
            </tr>
        </tbody>
    </table>

    <pagination
            total-items="totalItems" 
            items-per-page="itemsPerPage"
            ng-model="currentPage" 
            ng-change="pageChanged()">
    </pagination>
</section> 

<script>
    angular.module('myModule', ['ui.bootstrap']);
    angular.module('ui.bootstrap').config(function ($interpolateProvider) {
        $interpolateProvider.startSymbol('{[{').endSymbol('}]}');
    });
</script>

你有解决这个问题的技巧吗?

2 个答案:

答案 0 :(得分:2)

Angular是客户端,twig是服务器端,所以你不能从angular调用twig的path函数。

如果您想在客户端上生成路线,请查看FOSJsRoutingBundle

答案 1 :(得分:0)

不确定您要在此处执行的操作,但不需要再次插入product.id。这应该没问题,但有助于查看您的path功能:

<tr ng-repeat="project in filteredProjectList">
    <td>
        <a ng-click="path('project_show', { 'projectId': project.id })">
            {[{ project.id }]}
        </a>
    </td>
</tr>

我假设path是控制器$scope上定义的函数。