Symfony 2 项目中的 Angularjs 模板


Angularjs template in Symfony 2 project

我正在尝试使用基于symfony 2项目中的引导主题angularjs;我有一个与管理GUI捆绑在一起,所以我有以下情况:

Resources
    |
    |------public
    |         |
    |         |----css
    |         |      | ...
    |         |
    |         |----js
    |              |---- angular.js
    | 
    |------views

这个主题使用两个 angularjs 模板(template1.html、template2.html)。配置symfony以使用此主题的最佳方法是什么?

经过一些测试,我想出了解决问题的方法。 我认为我在 Symfony 捆绑包中使用 Angular .js 模板的好解决方案是将模板放在捆绑资源/公共路径下,然后使用输出参数控制从资产生成的输出名称。例如:

Resources
    |
    |----public
    |       |
    |       |-----css
            |
            |-----js
            |
            |-----templates
            |         |
                      |-----dashboard.html

在树枝模板中:

{% javascripts '@AdminBundle/Resources/public/templates/dashboard.html' output='admin/templates/dashboard.html'%}
{% endjavascripts %}

所以用以下资产来劳累资产:

php app/console assetic:dump

它将在 Web/Templates 目录下生成 AngularJS 模板(仪表板.html)。

通过这种方式,角度模板不受树枝模板引擎的控制,这一点在某些情况下可能是一个优势。我不知道这是否是解决我问题的最佳方法,但对于舒尔来说,它与角度.js和symfony逻辑是一致的。

将 Angular 模板文件直接放入您的 Web 目录,因为它们不需要通过 twig 渲染。

至于路由,我知道你想把路由留给AngularJS,所以只需创建一个symfony控制器,它呈现任何给定URL的索引页,如以下答案所示:Angular 单页站点在启用$locationProvider.html5Mode(true)时无法正常工作;