在我的angularJS应用程序中,我使用symfony作为其余API。
根据我当前的网址,我是否在app_dev.php下使用$ http。 我用以下代码意识到了这一点:
app.run (function( $rootScope, $location ){
$rootScope.dev = "";
if ( $location.absUrl().search("app_dev.php") > 0 ) {
$rootScope.dev = "app_dev.php/";
}
}
app.controller('OfferIndexCtrl', function($scope, $http, $location, $filter, $rootScope){
$http.get( $rootScope.dev + 'stage/offer/get').success(function(json){
$scope.offerList = json.offerList;
});
}
这很好用。但.run()在.config()之后运行,并且无法将其集成到routeProvider中。
任何人都可以帮我将其整合到我的routeProvider
中app.config(['$routeProvider', '$locationProvider',
function( $routeProvider, $locationProvider ){
$routeProvider.
when('/', {
templateUrl: 'stage/view/offer/index',
controller: 'OfferIndexCtrl'
}).
otherwise({
redirectTo: '/'
})
}
]);
答案 0 :(得分:1)
您应该使用<base>
标记为您的应用设置基本网址,并将您的基础设置为&#34; /&#34;或&#34; /app_dev.php /&#34;取决于您的Symfony环境,使用TWIG帮助程序来处理环境。您可以将此用于&#34; app_test.php&#34;同样。
<base href="{{ path('homepage') }}">
有了这个,您的整个应用程序将只适用于该基本URL,您不再需要任何其他内容。
详细介绍了基本HTML5标记如何与AngularJS应用程序配合使用答案 1 :(得分:0)
如果我在Angular部分使用普通JS,我可以从那里使用这个变量。 以下代码为我工作:
var dev = "";
if ( location.pathname.search("app_dev.php") > 0 ) {
dev = "app_dev.php/";
console.log( "App läuft unter dev");
}
App.config(['$routeProvider', '$locationProvider',
function( $routeProvider, $locationProvider ){
$routeProvider.
when('/', {
templateUrl: dev + 'stage/view/offer/index',
controller: 'OfferIndexCtrl'
}).
}