2016-10-13 4 views
1

私は残りのAPIとしてsymfonyを使用しています。

私の現在のURLによっては、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に統合することはできません。

は、誰も私はあなたがあなたのアプリケーションのためのベースURLを設定する<base>タグを使用して、あなたのベースに「/」または「/app_dev.php/」に設定する必要があり

app.config(['$routeProvider', '$locationProvider', 
     function($routeProvider, $locationProvider){ 

      $routeProvider. 
       when('/', { 
        templateUrl: 'stage/view/offer/index', 
        controller: 'OfferIndexCtrl' 
       }). 
       otherwise({ 
        redirectTo: '/' 
       }) 
     } 
]); 

答えて

1

私routeProviderにこれを統合することを助けることができますSymfony環境に応じて、TWIGヘルパーを環境に使用します。これを "app_test.php"にも使用できます。

<base href="{{ path('homepage') }}"> 

このアプリケーションでは、アプリケーション全体がそのベースURLで動作するだけで、それ以上のことは必要ありません。私はそこからこの変数を使用することができます角部befor平野JSを使用している場合は、ベースHTML5タグがAngularJSアプリケーションでどのように動作

はここngRoute set base url for all routes

0

詳細に記載されています。 次のコードは私のために働いた:

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' 
      }). 
} 
関連する問題