2016-07-14 12 views
0

アプリケーション用の角度jsで定数jsファイルを作成しようとしています。私はアプリケーション全体の定数を実装するために以下のコードを使用しています。それは正常に動作しています。AngularJsでグローバル定数を設定する

<code> 
// app.js 
angular.module('myApp', [ 
     'ngCookies', 
     'ngResource', 
     'ngSanitize', 
     'ngRoute' 
    ]) 
    .constant('config', { 
     mySetting: 42 
    }) 
    .config(function ($routeProvider) { 
     $routeProvider 
      .when('/', { 
       templateUrl: 'views/main.html', 
       controller: 'MainCtrl' 
      }) 
      .otherwise({ 
       redirectTo: '/' 
      }); 
    }); 
</code> 

私の関心は定数のために私は別のファイルを書きたいと私は自分のアプリケーション内のすべてのコントローラに同じファイルを呼び出します、私は唯一のルーティングを書きたいapp.jsファイルです。

アプリケーション全体が200以上の定数である可能性があります。宣言したいので、別のファイルにするか、コントローラ用の定数ファイルを分割したいと思っています。

どのようにメンテナンスしやすいのか教えてください。事前

答えて

1

にあなたはこのよう

app.value('config', { 
    "key1": "value1", 
    "key2": "value2" 
}); 

定数を定義することができますし、コントローラに、あなたがこのよう config.key1 OR config.key2にアクセスすることができます

感謝。このようにして、必要に応じて定数を定義することができます。

注:参照/注入をconfigにすることを忘れないでください。

よろしく

+2

は、.constant'代わりに'使用してください。それ以外にも、設定メソッドに '.value'を挿入することはできません。 – Narayon

1

あなたはまた、すべての定数、工場、サービス、または値を処理するために別のモジュールを使用して別のファイルを維持することができます。

var myApp = angular.module("myApp", ['myConstants']); //constants module injection 
myApp.controller("myController", ["$scope", "myValue", function() { 
.... 
}]); 
あなたconstant.jsで

angular.module("myConstants", []).constant('myValue', 'The value'); 

あなた constant.jsスクリプトファイル、その後、あなたの app.jsファイルを含める:あなたの定数を処理するために以下のコードは、Egは、あなたとアイデア

を与えます

詳細はhttp://www.learn-angular.org/#!/lessons/handling-complexity

0

あなたのアプリケーション.hereでのserviceURLという名前の定数を持たせたいと仮定しますが、簡単な方法

angular.module('myApp', ['ngRoute']) 
.value('serviceUrl','http://localhost:8080/hello') 

ある「ngRoute」はオプションです。アプリケーションがngRouteを使用していない場合には無視してください。 .value`オブジェクトが変更されることを意図しているので、 `

いくつかのデータを掲載するなどのサービス内でアクセスすることができます

angular.module('myApp'). 
service('myService', ['$http', 'serviceUrl',function($http,serviceUrl){ 
    this.getData= function(data){ 
     console.log(JSON.stringify(data)); 
     return $http({ 
      method: 'POST', 
      url: serviceUrl 
      data: data 
     }) 

}}

関連する問題