zoukankan      html  css  js  c++  java
  • 介绍Angular的注入服务

      其实angular的注入服务是挺复杂的,目前看源码也只看懂了一半,为了不误导大家,我也不讲敢讲太复杂,怕自己都理解错了。

      首先我们要知道angular的三种注入方式:

        第一种:inference

    var myModule = function($scope){
                
    }

        第二种:annotation

    var myModule = function($location){
                console.log('Module:代码注入$location成功');
                console.log($location);
            }
    myModule.$inject = ['$location'];
    $injector.invoke(myModule);

         第三种:inline

    var MyTest = ['$location',function($location){
    }]
     var MyTest = ['$location',function($location){
                console.log('Test:代码注入$location成功');
                console.log($location);
            }]
            var myModule = function($location){
                console.log('Module:代码注入$location成功');
                console.log($location);
            }
            angular.module('MyApp',[])        
                .run(function($injector){                
                    console.log($injector);
                    
                    //功能和注入时声明一样,但是在注入时声明有时会出现循环依赖的问题,这个时候基本可以在函数内部注入解决。
                    console.log($injector.get('$http'));
                    
                    //用来获取对象的依赖注入                                
                    console.log($injector.annotate(MyTest));
                        
                    
                    //注入函数,当你定义了某个函数,超出ng的规范的时候,你可以选择用这种方法注入函数,来达到访问ng内置服务的目的
                    $injector.invoke(MyTest);
                    
                    //当前服务是否存在
                    console.log($injector.has('myFact'));
                    
                    // myModule.$inject = ['$location']
                    // $injector.invoke(myModule);
                })
                .factory('myFact',function(){
                    return {}
                })
                .controller('MyCtrl',function(){
                    
                })
  • 相关阅读:
    linux c++ 实现http请求
    pip 换源
    Web API接口
    DRF框架知识总览
    jq+bs插件
    element-ui插件
    axios插件
    前端存储数据汇总
    Vuex插件
    全局配置css和js
  • 原文地址:https://www.cnblogs.com/HeJason/p/5502759.html
Copyright © 2011-2022 走看看