【问题标题】:$route depend on the current URL ($location)$route 取决于当前 URL ($location)
【发布时间】:2016-10-20 00:28:18
【问题描述】:

在我的 angularJS 应用程序中,我使用 symfony 作为 rest API。

根据我当前的 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 中。

谁能帮我把它集成到我的 routeProvider 中

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

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

【问题讨论】:

    标签: javascript angularjs rest symfony route-provider


    【解决方案1】:

    您应该使用<base> 标签为您的应用设置基本 URL,并根据您的 Symfony 环境将您的基本 URL 设置为“/”或“/app_dev.php/”,使用 TWIG 帮助程序作为环境。您也可以将其用于“app_test.php”。

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

    有了这个,您的整个应用程序将只在该基本 URL 上运行,您不需要任何其他内容。

    基本 HTML5 标记如何与 AngularJS 应用程序一起工作在此处详细描述 ngRoute set base url for all routes

    【讨论】:

      【解决方案2】:

      如果我在 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'
                  }).
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-08
        • 1970-01-01
        • 2015-05-21
        相关资源
        最近更新 更多