angularjs中的$scope与scope有什么区别

在学习angularjs的过程中一直有个疑问,$scope与scope有什么区别?

阅读 10.5k
2 个回答

$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

接着楼上的解答,隐式注入的代码

app.controller("MainCtrl",function($scope){

});

可以通过隐式注入的形式注入$scope,但进行js代码压缩时通常会将变量名替换成a\b\c等简写方式,从而造成隐式注入失败。所以一般都使用显示注入的方式。此时,使用$scope还是scope就成了编码规范的一部分,没有任何区别了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题