angular.js - 在使用Angular开发中如何将数据注入$rootScope
PHP中文网
PHP中文网 2017-05-15 16:53:43
0
5
582

另外,是否有类似于main.js的那种js,里面可以去定义全局变量。例如var http = "www.xxxx.com/",可以使得其他的Ctrl.js,都可以调用。

PHP中文网
PHP中文网

认证0级讲师

全員に返信(5)
小葫芦

その考えは間違っています、angular中不需要定义全局变量。你的数据应该通过service, factory, providerそれを提供します。
そして、これらは依存関係を注入できるため、グローバル変数はまったく必要ありません

いいねを押す +0
PHPzhong

$rootScope はオブジェクトであり、$rootScope.xxx='';

の形式でグローバル変数にバインドできます。
いいねを押す +0
某草草

@leftstick は正しいです。AngularJS は依存関係注入スタイルを使用してアプリケーション フレームワーク全体を構造化します。グローバル変数を宣言するのではなく、サービスにすることが最善です。こうすることで多くの問題を回避できます:

  1. 名前の競合。 JavaScript で名前の競合が発生しても、警告は表示されません。プロジェクトが小さい場合、発生する可能性は低くなりますが、デバッグは非常に困難です。
  2. 初期化シーケンス。たとえば、ACtrl でグローバル変数 window.a を定義する場合、それを BCtrl で使用する場合は、次のことを確認する必要があります。 ACtrlBCtrl の前に実行されますが、これは多くの場合実装が難しく、論理的に混乱を招くことさえあります。 ACtrl中定义了一个全局变量window.a,比如你想在BCtrl中使用它,那么你需要保证ACtrlBCtrl之前得到执行,这往往是不好实现,甚至逻辑混乱的。

在Angular中,最合理的办法是把a做成一个aService,注入到ACtrlBCtrl

Angular では、最も合理的な方法は、aaService にし、それを ACtrlBCtrl に注入することです。の間で。

サービスの定義方法と、モジュール、サービス、ファクトリー、プロバイダー間の関係については、このブログを参照してください:

http://harttle.github.io/2015/06/07/angular-module.html🎜
いいねを押す +0
我想大声告诉你

リーリー

いいねを押す +0
刘奇

angularjs2 がリリースされました

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!