angular.js - 在angular中定义模块的全局变量有哪些方法?示例代码?
滿天的星座
滿天的星座 2017-05-15 16:55:17
0
1
632

例如,

angular.module('xxx',[])
    .value();

再例如,绑定在$rootScope上面。

感觉自己脑子里对这些有些模糊,想讨论一下这个主题。

https://docs.angularjs.org/api/ng/type/angular.Module
这个页面里的api都怎么用,感觉只看文档不是很明白。

滿天的星座
滿天的星座

répondre à tous(1)
大家讲道理

1. De manière générale, il n'est pas recommandé de lier trop de variables sur $rootScope, car cela détériorerait la maintenabilité du programme, bien sûr, ce n'est pas recommandé, et les cas particuliers seront traités spécialement ; site Web titleLe titre devra peut-être être modifié fréquemment, donc cette reliure en $rootScope est toujours un bon choix.
2. Angular propose deux méthodes, l'une est celle que vous avez mentionnée et l'autre est la suivante :

    (function() {
    'use strict';

    angular
        .module('app')
        .constant('toastr', toastr)
        .constant('moment', moment);
})();

3. De manière générale, il suffit d'utiliser value et constant.


1. Je pense que dans votre cas, vous souhaitez utiliser cette fonction dans l'ensemble de l'application, vous pouvez alors l'écrire dans le service Service pour fournir la méthode d'utilisation ci-dessus ; est utilisé pour utiliser des plug-ins externes ou configurer certaines informations d'application. J'ai écrit un exemple ici, vous pouvez y jeter un œil, Portal.

2. Le code spécifique peut être vu ci-dessous :

L'ordre dans lequel les fichiers sont importés

    <script src="../lib/angular.js"></script>
    <script src="module.js"></script>
    <script src="app.js"></script>

index.html

    <body ng-app="MyApp">
        <h1>constant</h1>
        <p ng-controller="MyController as vm">
            <p>
                {{vm.test}}
            </p>
            <p>{{vm.my_key}}</p>
        </p>
    </body>

module.js

    (function(window){
    // ..
    // exports

    var Test = {
        hello: function(){
            console.log('hello');
        }
    };

    window.Test = Test;

})(window);

app.js

    (function(){

    angular.module('MyApp', [])
        .constant('Test', Test)
        .constant('MyKey', 'q123nasbd12y38basd237y')
        .controller('MyController', MyController)
        .service('Service', Service);


    MyController.$inject = ['Test', 'Service', 'MyKey'];
    Service.$inject = [];


    function Service(){
        var service = {
            info: info
        };

        return service;

        function info(){
            return 'info';
        }
    }

    function MyController(Test, Service, MyKey){
        var vm = this;
        vm.test = Service.info();
        vm.my_key = MyKey;
        Test.hello();
    }
})();
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal