当前位置:首页>正文

angularjs一些问题 angularjs的依赖注入和自定义服务有什么区别

2023-04-13 10:10:12 互联网 未知

angularjs一些问题

其实这俩种方法在使用的时候,并没有什么不同
区别主要是在于后期线上优化js代码的时候,js的压缩器会将一些局部变量做缩写,比如
app.controller(MyCtrl , function($scope , $filter){
$scope.name = $filter(...)(xxxx)
})

===> 会压缩为
app.controller(MyCtrl , function(a , b){
a.name = b(...)(xxxx)
})

这样,压缩后的代码里,angular无法识别a和b这俩个server,就会报错了
而使用了第二种方法来写,就不会出现这种错误
app.controller(MyCtrl , [$scope,$filter,function($scope , $filter){
$scope.name = $filter(...)(xxxx)
}])

===> 会压缩为
app.controller(MyCtrl , [$scope,$filter,function(a , b){
a.name = b(...)(xxxx)
}])

这个执行起来就不会有错

-----------------

主要是因为angular在执行controller的方法的时候,需要知道这个controller的依赖参数
如果是用第一种方法来写,则参数名是不能随便写的,因为angular通过解析function的源码来取到依赖参数名
比如app.controller(ctrl , function($scope , $filter){}) 通过解析这个代码,就会知道这个ctrl会依赖 $scope 和 $filter 这俩个服务,如果把这俩个名字写错了,那就无法执行了

第二种方法相当于手动声明了依赖参数和队列顺序,angular就不需要解析源码里面的参数
app.controller(ctrl , [$scope , $filter , function($scope , $filter){}])
这样写,相当于手动声明依赖参数

angularjs的依赖注入和自定义服务有什么区别

AngularJS实际上是在调用前面出现的代码(就是$provide.provider的版本)。从字面上来说,这两种方法基本上没有差别。value方法也一样 – 如果我们需要从$get函数(也就是我们的factory函数)返回的值永远相同的话,我们可以使用value方法来编写

java中定义方法错误

首先一点,正如楼上所言,java中方法是不可以嵌套方法的。

另外,假设你的语法是对的,老兄,你不觉得这段代码加入getNum()后就会成为死循环吗?
你的递归调用似乎没有跳出的条件哦,只会不停的迭代下去,直到Outofmemory

angularjs 自带服务有哪些

服务的用途 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性 服务提供了把特定功能相关联的方法集中在一起的接口 如何创建服务 angularJS提供了一些内置服务,