angular中的$provide和$inject方法使用理解

来源:互联网 发布:上海女人护肤品 知乎 编辑:程序博客网 时间:2024/06/10 18:28

1.angular中使用$provide来注册服务,然后使用$inject来注入注册的服务。

app.config(function($provide){$provide.provider("myProvide", function(){this.$get = function(){    return function(name){                          alert("name is "+name)                    }}})})<pre name="code" class="html">app.config(function($provide){$provide.factory("myProvide", function(){return function(name){                          alert("name is "+name)                 }})})

app.config(function($provide){$provide.vaue("myProvide", function(name){alert("name is "+name)})})

这三个方法都是注册服务的方法,由于这个三个方法比较常用, 所有angular将这个三个方法暴露给了angular实例。

app.config(function($inject){    var inject1 = $inject.get("myProvide")    var inject2 = $inject.get("myProvide")
    console.info(inject1===inject2)//true<span style="white-space:pre"></span>})
$inject可以动态的实例化注册的服务,而且两个名称相同的服务不会被重复实例化。

0 0