2016-06-25 10 views
1

私はES6でAngular jsを使ってWebアプリケーションを作成しています。私はちょうど角を学び始めました。私はインターネットのリソースから多くを理解することができなかった以下の質問があります。ui-routerを使用したコントローラの定義

1)私は状態に基づいてルーティングするためにui-routerを使用しています。私は私のコントローラ

myApp.config(function($stateProvider, $urlRouterProvider) { 
$urlRouterProvider.otherwise('/home); 
     $stateProvider 
      .state('contact', { 
      url: '/contact', 
      templateUrl: 'contact.html', 
      controller: myContactController 
     }); 
}; 

Contact.htmlでコードを次ています

<div ng-controller=”myContactController”> 
…. 
</div> 

質問:私は、JSの私の状態でコントローラを指定した

A)。私のビューにもng-controllerを使ってコントローラを指定する必要がありますか?相違点とその必要性は何ですか?

2)私は自分のアプリケーション用の基本モジュールを持っています。

ベースモジュール - Index.js:

import subapp1 from ‘./subApp1/index’; 
angular.module(“myapp”,[subapp1]); 

subApp1/index.js

Export default function(){ 
Angular. module(“subApp1”,[]); 
}; 

質問: a)は、これは、ベースモジュールにサブモジュールの依存関係を注入する正しい方法ですか?そうでない場合、ベースモジュールにモジュール依存関係を注入する最良の方法は何ですか? b)角度依存性注入の依存性注入と異なるスコープを理解するための最良のリンクを基本的な方法で得ることができたら、私は感謝します。

答えて

1

私は私の状態でコントローラを指定していますjs。私のビューにもng-controllerを使ってコントローラを指定する必要がありますか?相違点とその必要性は何ですか?

HTMLでngControllerを使用する必要はありません。ルータはHTMLテンプレートをフェッチし、指定されたコントローラでコンパイルします。

私は自分のアプリの基本モジュールを持っています...

export default angular.module('subApp1', []) 
    .factory('someService', semeService) // For example, attach some module service 
    .directive('someDirective', someDirective) // ... or some components 
    .name; 

、その後

import subapp1 from './subApp1/index'; 
import subapp2 from './subApp2/index'; 

angular.module('myapp', [ 
    subapp1, 
    subapp2 
]); 
:あなたのセットアップは、この(あなたが角度モジュールの nameプロパティをエクスポートする方法に注意してください、)のように見えることができるようにあなたは、その名前で依存モジュールを指定

1

1.a)いいえ、しないでください。そうした場合、コントローラの2つのインスタンスがあります。

2.a)いいえ。まず、モジュールを別のモジュールに「注入」しないでください。モジュールは別のモジュールに依存します。それは依存性注入とは関係ありません。その構文は、

angular.module('myapp', ['subApp1']); 

などです。配列の要素は、あなたが依存するモジュールのの名前でなければなりません。そしてもちろん、これらのモジュールは

angular.module('subApp1', []); 

2.Bを使用して、(前または後に、それは問題ではありません)自分自身を定義する必要があります)https://docs.angularjs.org/guide

関連する問題