$scope函数参数从何而来

Where does $scope function argument comes from?

本文关键字:参数 scope 函数      更新时间:2023-09-26

在下面的片段中,我无法理解一些基本细节。声明函数时,通常在括号之间放置占位符。在本例中,$scope是一个占位符。但也是一个保留的词。

var messages = {};
messages.someText = 'You have started your journey.';
function TextController($scope) {
  $scope.messages = messages;
}

为什么不简单地写作

function TextController() { 
  $scope.messages = messages;
}

$scope论点从何而来?谁在发射它?

谢谢

$scope不是

全局变量,因此语法会抛出错误。

请看一下依赖注入在 Angular 中是如何工作的:

DI在整个Angular中普遍存在。您可以在定义组件或为模块提供运行和配置块时使用它。

当你的函数是 Angular 组件(如服务、指令、过滤器等)时,Angular 知道何时向函数注入参数;所以当 Angular 看到你的声明中有一个带有$scope的控制器函数时,它知道在调用它时注入正确的$scope

请注意,在您的代码中,您将无法找到$scope,因为您在普通函数中使用它,而不是在某种 Angular 组件中使用它。我怀疑你错过了一些 Angular 基础知识,所以你应该学习更多的东西,然后你就会理解你的代码中的问题,这是基本的 Angular。

它会抛出错误.我认为你必须像这样在控制器中声明它:angular.module('myApp').controller('myContrroler', [ '$scope']);