저는 AngularJS를 배웠고 SF2 백엔드와 통합하려고합니다. 경로가 혼란 스럽습니다. 내가 가지고있는 것을 보겠습니다 :Angularjs + Symfony2 라우팅이 작동하지 않습니다.
/usermanager로 가면 symfony 라우팅 시스템이 나뭇 가지 템플릿을로드하는 컨트롤러를 엽니 다.
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 : 지금이 내 각 코드는
{% 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 %}
: 당신이 볼 수있는 내가 JS에 대한 FOSBundle을 사용하여이 템플릿에서 나는 각도에 필요한 모든 JS 구성 요소를로드하고이 작업을 수행 경로 노출. 내 공장이 데이터베이스에서 사용자를 올바르게 얻으므로이를 사용하는 방법이 있다고 생각합니다.
_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 :
여기.when('/usermanager',
{
controller:'UserManagerHome',
templateUrl:Routing.generate('_UserManager_userList')
})
내 라우팅 파일입니다
그래서 나는이이 경로로 표현되는 등 ng-repeat
같은 고전적인 각도 재료를 포함하는 파일을로드 할 : 컨트롤러는 거의 비어 있습니다. 그냥 나뭇 가지 템플릿을 렌더링하는 것입니다.
현재 /usermanager
을 열면 "사용자 관리자"라는 제목의 빈 페이지가 나타납니다. 내가 뭘 잘못 했니?
좋아, 나는 ('/ usermanager', to.when ('/')로 바꿔야한다. 그래도 여전히 작동하지 않는다면이 주소에 나를 둔다 : http : //192.168.1.19/ symfony24/web/app_dev.php/usermanager #/ – Eagle1
템플릿을 찾지 못해서 오류가 발생합니까? –
올바르게 해결 되었습니까? 맞아요? 컨트롤러에서 템플릿을 렌더링하는 것입니까? – Eagle1