前端 - angularjs中的$scope与scope有什么区别

【字号: 日期:2023-01-25浏览:26作者:雯心

问题描述

在学习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就成了编码规范的一部分,没有任何区别了。

相关文章: