正如我在上一个问题here中提到的那样,我尝试编写一个angularJs客户端来使用symfony2 restful api。 这是我的角度模块:
var app = angular.module('myApp', ['ngRoute']);
app.factory("services", ['$http', function($http) {
var serviceBase = '/myproject/web/app_dev.php/api/';
var obj = {};
obj.getCategories = function(){
return $http.get(serviceBase + 'categories');
}
obj.getCategorie = function(CostumerID){
return $http.get(serviceBase + 'costumer?id=' + CostumerID);
}
obj.deleteCostumer = function (id) {
return $http.delete(serviceBase + 'deleteCostumer?id=' + id).then(function (status) {
return status.data;
});
};
return obj;
}]);
app.controller('listCtrl', function ($scope, services) {
services.getCategories().then(function(data){
$scope.categorie = data.data;
});
});
我创建了一个索引页面:
<!DOCTYPE html>
<html data-ng-app="myApp" ng-app lang="en">
<head>
<meta charset="utf-8">
<link href="/css/bootstrap/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div>
<div class="container">
<div data-ng-view="" id="ng-view"></div>
</div>
</div>
<script src="/angular/angular.min.js"></script>
<script src="/app/app.js"></script>
</body>
</html>
我发现我可以使用FOSJsRoutingBundle为我的应用程序生成路线,但在文档中我应该将这两行添加到我的代码中:
<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src="{{ path('fos_js_routing_js', {'callback': 'fos.Router.setData'}) }}"></script>
但我不会使用树枝,我不知道我可以使用它吗?
此外,我不知道第一次运行应用程序时应该询问哪个网址,因为当我要求索引时,我有一个空白页面:(
有人可以帮助我并告诉我应该做什么或我错过了什么?
答案 0 :(得分:0)
对于默认配置,您可以从以下位置获取FOSJSRouting js文件:
然后你可以在symfony中使用assetic(阅读这个documentation以获取更多信息),包括上面的js文件,并指定输出文件,例如js / compiled.js。 然后将您的html更新为此类
<!DOCTYPE html>
<html data-ng-app="myApp" ng-app lang="en">
<head>
<meta charset="utf-8">
<link href="/css/bootstrap/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div>
<div class="container">
<div data-ng-view="" id="ng-view"></div>
</div>
</div>
<script src="/angular/angular.min.js"></script>
<script src="/js/compiled.js"></script>
<script src="/app/app.js"></script>
</body>
</html>
在app.js中,您可以通过这种方式从Symfony Routing获取网址
var url = window.Routing.generate(route, params, absolute);
希望有所帮助