Я изучаю AngularJS и хочу интегрировать его с серверной частью SF2. Я путаюсь с маршрутами, давайте посмотрим, что у меня есть:
Когда мы заходим в /usermanager, система маршрутизации Symfony открывает контроллер, который загружает шаблон ветки. В этом шаблоне я загружаю все компоненты js, необходимые для angular, и делаю это:
{% extends '::base.html.twig' %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript" src="{{ asset('js/UserManager_Angular.js')}}"></script>
{% endblock %}
{% block body %}
<h1>User Manager</h1>
<div data-ng-view></div>
{% endblock %}
Теперь это мой угловой код:
var UserManager = angular.module('UserManager', ['ngRoute','ngResource']);
UserManager.config(function($routeProvider){
$routeProvider
.when('/addnew',
{
controller:'addNewController',
templateUrl:Routing.generate('_UserManager_add_new_user')
})
.when('/',
{
controller:'UserManagerHome',
templateUrl:Routing.generate('_UserManager_getUser_List')
})
});
UserManager.factory('data_access',['$resource',
function($resource){
return $resource(Routing.generate('_UserManager_getUserList'),{},{
query:{method:'GET',isArray:true}
});
}]);
UserManager.controller('UserManagerHome',function ($scope,data_access){
$scope.users = data_access.query();
//$scope.orderProp = 'id';
});
ps: как видите, я использую FOSBundle для демонстрации маршрута js. Я думаю, что понял, как это использовать, потому что моя фабрика правильно получает пользователей из базы данных.
Итак, я хочу загрузить файл, содержащий классические элементы angular, такие как ng-repeat
и т. д. Это представлено этим маршрутом:
.when('/usermanager',
{
controller:'UserManagerHome',
templateUrl:Routing.generate('_UserManager_userList')
})
Вот мой файл маршрутизации:
_UserManager:
pattern: /usermanager
defaults: {_controller: AcmeBundle:UserManager:Home }
options:
expose: true
_UserManager_getUser_List:
pattern: /usermanagerlist
defaults: {_controller: NRtworksSubscriptionBundle:UserManager:list }
options:
expose: true
_UserManager_getUserList:
pattern: /usermanager/getuserlist
defaults: {_controller: AcmeBundle:UserManager:getUserList }
options:
expose: true
requirements:
_format: json
_method: GET
_UserManager_add_new_user:
pattern: /usermanager/addnew
defaults : {_controller: AcmeBundle:AddNewUser:Home }
options:
expose: true
ps2: контроллеры почти пусты, просто отображаю шаблон ветки, который я ищу.
В настоящее время, когда я открываю /usermanager
, я получаю пустую страницу только с заголовком «менеджер пользователей». Что я делаю неправильно?