recherche

Maison  >  Questions et réponses  >  le corps du texte

angular.js - 在使用Angular开发中如何将数据注入$rootScope

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

PHP中文网PHP中文网2744 Il y a quelques jours610

répondre à tous(5)je répondrai

  • 高洛峰

    高洛峰2017-05-15 16:55:43

    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

    répondre
    0
  • PHPz

    PHPz2017-05-15 16:55:43

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

    répondre
    0
  • 某草草

    某草草2017-05-15 16:55:43

    @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

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-15 16:55:43

    angular.module('app', []).run(function($rootScope) {
        $rootScope.http = 'www.xxxx.com/';
    });
    

    répondre
    0
  • 怪我咯

    怪我咯2017-05-15 16:55:43

    Maintenant, Angularjs2 est sorti

    répondre
    0
  • Annulerrépondre