1

このようなAngularコードがたくさんあります。次のものは彼らのチュートリアルからのものです。

angular.module('phonecat', ['phonecatFilters', 'phonecatServices']).
  config(['$routeProvider', function($routeProvider) {
  $routeProvider.
      when('/phones', {templateUrl: 'partials/phone-list.html',   controller: PhoneListCtrl}).
      when('/phones/:phoneId', {templateUrl: 'partials/phone-detail.html', controller: PhoneDetailCtrl}).
      otherwise({redirectTo: '/phones'});
}]);

しかし、私はこのようによく知っています。

var app = angular.module('phonecat', ['phonecatFilters', 'phonecatServices']);
app.config(function($routeProvider) {
  $routeProvider.
      when('/phones', {templateUrl: 'partials/phone-list.html',   controller: PhoneListCtrl}).
      when('/phones/:phoneId', {templateUrl: 'partials/phone-detail.html', controller: PhoneDetailCtrl}).
      otherwise({redirectTo: '/phones'});
}]);

それを変数として定義したいのですfunction($routeProvider) { ...}が、うまくいくかどうか確信が持てません。

この場合、グローバル変数を避ける理由はありますかapp?

それとも、AngularJs コミュニティのベスト プラクティスの 1 つにすぎませんか?

4

2 に答える 2

1

名前空間は良いです。ベスト プラクティスはangular.value、グローバル変数の代わりに使用することです

app.value('myVariable', 'myValue')
   .controller('myController', function($scope, myVariable) {
       ...
    }); 
于 2013-09-18T21:45:04.840 に答える
1

angular.module(..) はモジュールを返します。

  1. 変数 app (グローバル変数) に代入します。
  2. またはそれを連鎖し続ける

単一のファイルに含まれているため、多くの連鎖例を見てきました。

コードは多くのファイルに編成する必要があるため、グローバル変数「app」などを使用した多くの例も表示されます。

単一のファイルの例を作成する場合は、最初のものをお勧めします。
名前の間隔が必要な実際のアプリを作成する場合は、2 つ目の方法をお勧めします。

于 2014-01-04T17:56:52.443 に答える