AngularJS $controller服务
AngularJS应用程序依赖于一个控制器来控制AngularJS应用程序的数据流。AngularJS架构使用MVC模型即模型视图控制器。模型负责维护应用程序的数据,视图负责向用户显示数据或数据的某些部分,而控制器负责模型和视图之间的通信。一个控制器是一个JavaScript对象,由各种属性、属性和函数组成。属性可以使用scope对象在控制器和视图之间起着胶合作用。它只是作为模型和视图之间的胶合剂。它们接受来自视图的输入,对其进行处理,并返回输出,显示给用户。
injector的调用,但被提取为一个服务。
语法:
参数值: $controller需要2个参数。
- 构造函数:如果构造函数被调用,那么它被认为是一个控制器构造函数,否则它被认为是一个字符串,可以通过以下步骤来检索控制器的构造函数。
- 通过检查将通过$controllerProvider注册的具有所述名称的控制器。
- 通过评估当前范围的字符串,将返回一个构造函数。
- locals : 它是一个对象类型,为控制器注入locals。
返回类型:它返回一个对象,是给定控制器的一个实例。
方法:$控制器可以用以下方法实现。
- 在你想使用控制器属性的HTML元素内的ng-controller指令中指定控制器的名称。
- 在脚本标签内,创建一个模块。
- 使用该模块,使用JavaScript对象构造器创建一个控制器,并传递范围作为参数。
- 使用范围对象将属性附加到控制器。
例子1:这个例子展示了如何创建一个控制器并在一个HTML元素中使用它的属性。
解释:在上面的例子中,我们已经创建了一个名为”myApp”的模块。我们使用JavaScript构造函数将一个名为”myCtrl”的控制器连接到模块中,并将scope对象给控制器附加了字符串、对象和数组等属性。我们将这些属性用在了<div>
标签_,其中我们使用ng-controller指令指定了控制器。
输出:
例子2:在这个例子中,我们将为控制器创建一个外部文件。
在较大的应用程序中,控制器被存储在外部文件中。为了实现这一点,从上面的例子中,你只需要把代码放在 <script>
标签,其中模块和控制器被创建在一个单独的文件中,并保存这个文件的扩展名为.js。在<script>
标签的src属性中链接这个文件。
index.html:
app.js
解释 。在上面的例子中,我们做了一个单独的.js文件来编写控制器的代码。在index.html中,我们创建了AngularJS应用程序,并导入app.js文件以使用控制器的属性。
输出:
例子3:在这个例子中,我们将对用户输入的2个数字进行基本算术运算。
解释 。在上面的例子中,我们在控制器中为不同的操作创建了不同的函数。当一个按钮被点击时,ng-click指令中指定的函数被调用,答案被计算并显示。
输出:当用户输入两个数字并点击添加按钮时,两个数字被添加并显示输出。同样,当点击减法、乘法和除法按钮时,也会显示输出。