问题描述
在学习angularjs的过程中一直有个疑问,$scope与scope有什么区别?
问题解答
回答1:$scope是angular内部提供的变量。
scope一般指的是scope directive service等等这种概念。
从变量上讲
function($scope){}function(scope){}
没有任何区别。
但是上面的scope或者$scope对象是angular内部提供的对象,我们一般通过依赖注入的方式获取这个对象,如果你通过显示依赖的方式:
app.controller('MainCtrl',['$scope',function(scopeObject){}]);
注入的变量名必须是$scope,函数里面的形参就无所谓了。
如果是隐式注入,
app.controller('MainCtrl',function($scope){});
函数形参必须是$scope
回答2:接着楼上的解答,隐式注入的代码
app.controller('MainCtrl',function($scope){});
可以通过隐式注入的形式注入$scope,但进行js代码压缩时通常会将变量名替换成abc等简写方式,从而造成隐式注入失败。所以一般都使用显示注入的方式。此时,使用$scope还是scope就成了编码规范的一部分,没有任何区别了。