Я изучаю AngularJS, и я хотел бы интегрировать его с моим задним концом SF2. Я смущаюсь с маршрутами, давайте посмотрим, что у меня есть:Angularjs + Symfony2 routing не может заставить его работать
Когда мы переходим на/usermanager, система маршрутизации symfony открывает контроллер, который загружает шаблон ветви. В этом шаблоне, я загружаю все Js компоненты, необходимые для угловых и сделать это:
{% 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';
});
пс: как вы можете видеть, я использую FOSBundle для JS маршрута. Я думаю, что я получил, как использовать это, потому что мой завод правильно получает пользователей из базы данных.
Так что я хочу, чтобы загрузить файл, содержащий классические угловые вещи, такие, как 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
Я получаю пустую страницу с названием «пользовательский менеджер». Что я делаю неправильно?
Хорошо, я понял, что должен измениться .when ('/ usermanager', to .when ('/', правильно? Но все же это не работает, он помещает меня по этому адресу: http: //192.168.1.19/ Symfony24/web/app_dev.php/usermanager #/ – Eagle1
вы получаете ошибки за то, что не нашли шаблоны? –
Я решил это! Я думаю, что я неправильно выполнял маршрутизацию symfony. Правильно ли я это делаю? контроллеры, просто отрисовка шаблона? – Eagle1