2017-11-16 4 views
1

私は角を理解するために私の頭をひっくり返しています。私はこれを理解できません。オンラインガイドは私が見た限りでは基本的なものです。説明してくださいコントローラファイル内のこれらのコントローラパラメータは何ですか?

app.register.controller('viewTests', ['$scope', '$modal', '$http', '$route', 'pinesNotifications', '$location', '$route', '$routeParams', '$timeout', '$modal', function($scope, $modal, $http, $route, pinesNotifications, $location, $routeParams, $timeout){ 

1)どのように機能し、やりとりしますか?

2)パラメータの順序は重要ですか?

ありがとう

+0

Angularが依存性注入を管理する方法です。それは[こちら](https://docs.angularjs.org/guide/di)で十分に文書化されています。 – Ankh

答えて

0

1)これは、あなたのスコープやhttpアクションのhttpサービスのような注入です。彼らは角度のjsの一部であるため、それらのほとんどはよく文書化されています。 2)配列内での順序は重要ではありません(閉じ括弧を忘れたと仮定します)が、コントローラのパラメータの順序は重要です。

1

使用している規則は、角で使用できる規則の1つです。その特定のコンベンションでは、依存関係を注入するだけでなく、その特定のコントローラーに対して依存関係を使用することもできます。依存関係の順序は重要です。そうしないと、依存関係の使用は期待通りに機能しません。

app.register.controller('viewTests',function($scope, $modal,$http,$route,){ 

}) 

上記の規則では、順序は関係ありません。私はあなたの番号2の質問に答えていると信じています。

今、1番の質問です。動作するロジックはjavascriptで使用する通常のものと似ていますが、angularjsではすべての依存関係を注入してコントローラにアクセスするメインモジュールがあります。 ,$httpのような特定の依存関係がangularjsですぐに利用できます。しかし、必要な外部プラグインがある場合は、それをメインモジュールに注入します。例:コントローラに$stateを使用するには、次のように注入する'ui.router'が必要です。

var app = angular.module('yourAppName', ['ui.router']); 

app.config(function($stateProvider, $urlRouterProvider) { 

    $urlRouterProvider.otherwise('/home'); 

    $stateProvider 

     // HOME STATES AND NESTED VIEWS ======================================== 
     .state('home', { 
      url: '/home', 
      templateUrl: 'partial-home.html' 
     }) 

     // ABOUT PAGE AND MULTIPLE NAMED VIEWS ================================= 
     .state('about', { 
      // we'll get to this in a bit  
     }); 

}); 
app.register.controller('viewTests',function($scope, $state){ 

}) 

同様に、必要な依存性を注入して、コントローラにも必要な依存性だけを使用します。

+0

あなたは他にどのような慣習があるのか​​教えてください – webion123

関連する問題