私はangularjsで新しいです、私は用語 'controller'と 'controller As'で混乱しています。 なぜ我々は一度に両方を使用するのですか?私はこの両方の指令について簡単に説明したいと思いますか?コントローラとコントローラの違いは何ですか?
答えて
$scope
変数に割り当てられた値にアクセスすることができますが、controllerAs = "vm"構文を使用すると、
あなたは、単に(コントローラ内で)行うことがあります。
var vm = this;
vm.myModel = 'my model text'
だからあなたは$スコープに値を割り当てる必要はありませんし、あなたのhtmlであなたは
<div>{{vm.myModel}}</div>
この詳細な回答を確認することもできます。http://stackoverflow.com/questions/11605917/this-vs-scope-in-angularjs-controllers? rq = 1 –
に両方の事をそれにアクセスすることができます、コントローラーとコントローラーは、特定のビューで操作したいコントローラーと同じものを指します。それらは、その内部のプロパティと関数にアクセスする方法が異なります。 controllerAsの構文はオプションですが、私は強くお勧めします。
編集: controllerAsは、指定したコントローラの別名である、とあなたは$の範囲で動作しますcontrollerAsを指定しない場合は少しあなたは、コントローラ
内の値に近づく方法を変更をコントローラの内側に置くと、コントローラのスコープからプロパティと関数に直接アクセスすることになります。コントローラのスコープは多かれ少なかれ、悪い習慣です。例えば:コントローラで
:
$scope.employer = 'John';
$scope.totalEmployees = 15;
鑑み:
<div>{{employer}} has {{totalEmployees}} employees</div>
注:ビューは範囲から値を直接アクセスする方法を参照。
しかし、あなたはcontrollerAsを指定した場合
コントローラ: 'EmployeeController'
controllerAs: 'EMP';
アプローチは少し異なっている、まだクリーナーや保守が容易:
コントローラで:
var emp = this;
emp.employer = 'John';
emp.totalEmployees = 15;
ビューで:
<div>{{emp.employer}} has {{emp.totalEmloyees} employees}}</div>
注:今あなたが持っていますビューにエイリアスを指定して値にアクセスします。これは、アプリケーションが成長するにつれて複雑さも増すので、良い習慣です。コントローラーを使用すると、アプリケーションをより詳細に制御でき、維持およびデバッグが容易になります。
- 1. IngressコントローラとIngressコントローラの違いは何ですか?
- 2. MVCパターンのコントローラとコマンドパターンのコマンドの違いは何ですか?
- 3. Railsコントローラの 'env'と 'request.env'の違いは何ですか?
- 4. codeigniterのコントローラとライブラリの違いは何ですか?
- 5. モデルとコントローラの違いは何ですか?
- 6. ディスプレイコントローラとVGA互換コントローラの違いは何ですか?
- 7. node.jsエクスプレスルートとコントローラの違いは何ですか?
- 8. Ember.js setupControllerとの違いは何ですか<Name>コントローラ
- 9. コントローラとファサードの違いは何ですか?
- 10. 工場とコントローラの違いは何ですか?
- 11. 同じコントローラ(サービスからの1つのコントローラ)とディレクティブの2つのスコープの違いは何ですか?
- 12. 2つの角型コントローラの違いは何ですか?コントローラを宣言するとき
- 13. MVC、コントローラとモデルの違い?
- 14. 角ディレクティブ:コントローラの範囲とリンク関数のスコープの違いは何ですか?
- 15. Spring MVCのコントローラに値を渡すと、違いは何ですか?
- 16. 角度コントローラで何かが間違っていますか?
- 17. 角度1.xコントローラと角度2コンポーネントの違いは何ですか?
- 18. リポジトリ、サービス、アクション/コントローラとは何ですか?
- 19. @ Html.IsSelected(コントローラ: "ダッシュボード")とは何ですか?
- 20. コントローラの仕事は何ですか?
- 21. emberjsのコントローラとルートの違い
- 22. 私は、コントローラとコントローラ間のフォルダの違いをマゼンタで教えてくれるのですか?
- 23. Spring RESTコントローラでの単純REST実装とHTTP InboundアダプタでのSpring Integrationとの違いは何ですか?
- 24. EmberJSのコントローラとコンポーネントとは何ですか?
- 25. Laravelのルーティングとコントローラとは何ですか?
- 26. Symfonyドキュメントの「コントローラ」と「アクション」とは何ですか?
- 27. 誰でもクラスレベルのコントローラとメソッドレベルのコントローラの違いを教えていただけますか?
- 28. 検証ヘルパーの使用とコントローラからのカスタム検証メソッドの呼び出しの違いは何ですか?
- 29. ASP.NET MVCのコントローラに相当するNode.jsとは何ですか?
- 30. 私のコントローラでは、コントローラMVC3
[Angularjs "Controller as"または "$ scope"]の複製があります(http://stackoverflow.com/questions/30641478/angularjs-controller-as-or-scope) – CozyAzure
https: //toddmotto.com/digging-into-angulars-controller-as-syntax/ –