angulaire.js - Comment injecter des données dans $rootScope lors du développement avec Angular
PHP中文网
PHP中文网 2017-05-15 16:53:43
0
5
634

De plus, existe-t-il un js similaire à main.js dans lequel des variables globales peuvent être définies ? Par exemple, var http = "www.xxxx.com/" peut rendre d'autres Ctrl.js appelables.

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(5)
小葫芦

L'idée est fausse, il n'est pas nécessaire de définir des variables globales dans angular. Vos données doivent être fournies via service, factory, provider.
Et ces choses peuvent être injectées en dépendance, donc il n'y a pas du tout besoin de variables globales

PHPzhong

$rootScope est un objet et peut être lié à des variables globales sous la forme de $rootScope.xxx='';

某草草

@leftstick a raison, AngularJS utilise le style d'injection de dépendances pour structurer l'ensemble du framework d'application. Il est préférable de ne pas déclarer de variables globales, mais d'en faire un service. De cette façon, vous pouvez éviter beaucoup de problèmes :

  1. Conflit de noms. Les conflits de noms en JavaScript ne donneront aucun avertissement. Si votre projet est petit, la probabilité qu'ils se produisent est faible, mais il est très difficile à déboguer.
  2. Séquence d'initialisation. Si vous définissez une variable globale ACtrl dans window.a, par exemple, si vous souhaitez l'utiliser dans BCtrl, alors vous devez vous assurer que ACtrl est exécuté avant BCtrl. C'est souvent difficile à réaliser. , même logiquement déroutant.

En Angular, le moyen le plus raisonnable est de transformer a en aService et de l'injecter dans ACtrl et BCtrl.

Comment définir un service et la relation entre Module, Service, Usine et Fournisseur peut se référer à ce blog :

http://harttle.github.io/2015/06/07/angular-module.html

我想大声告诉你
angular.module('app', []).run(function($rootScope) {
    $rootScope.http = 'www.xxxx.com/';
});
刘奇

Maintenant, Angularjs2 est sorti

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal