我是一名非常新的计算机科学专业的学生,拥有丰富的C ++经验,但我刚刚开始使用Javascript。
我一直试图了解Angular Js是如何工作的,而且我有点卡在控制器上。我理解如何使用它们的基础知识,但我无法解释它们的构造方式和实际内容。
w3教程指出"控制器是一个JavaScript对象,由标准的JavaScript对象构造函数创建。"
创建控制器的语法是:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
});
此代码的哪一部分是对象构造函数? 我可能完全错了,但对于没有经验的javascript,它看起来像是"控制器"使用' myCtrl'来调用app对象的功能。和'函数($ scope){}作为参数。
任何人都可以向我解释这段代码的第二行实际上是做什么的以及为什么这些参数传递给它?
同样在哪里/什么是实际的控制器对象?如果我想物理记录控制器对象,我将如何引用它?
感谢您的帮助!
答案 0 :(得分:0)
我认为你误解了这个概念。在AngularJs控制器是函数但是当你使用ng-controller将该控制器绑定到DOM元素时,你将该控制器的对象绑定到你的html DOM元素。
第二行的Anf: app.controller('myCtrl',function($ scope){ }); 通过编写此行,您将向您的模块注册名为“myCtrl”的控制器。通过这种方式,您告诉AngularJs这是我的控制器。
您可以通过多种方式在线查找控制器。
1)
app.controller('myCtrl', function($scope) {
$scope.xyz="This is myCtrl"
});
2)
function myCtrl($scope){
$scope.xyz="This is myCtrl"
};
app.controller("myCtrl",myCtrl);
同时确保您在 app.controller(“”,“”)。中的第一个参数中给出的名称。您的控制器已在您的模块中注册。
答案 1 :(得分:0)
Angularjs Controller处理你的逻辑,比如处理用户输入,输出和其他东西,如API调用,其他计算等。
Controller有两个参数:1)控制器名称和2)要处理的函数
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
});
现在在上面的代码中
var app = angular.module('myApp', []);
使用此行定义您的应用模块
app.controller('myCtrl', function($scope) {
//Your login for controller is here
});
上面的代码说明你为myCtrl
app
您可以使用$scope
声明变量或函数,myCtrl
只能访问app.controller('myCtrl', function($scope) {
$scope.myVar = "Hello World";
});
范围。你不能在那个控制器之外使用它。
您可以使用$ scope声明变量,如下所示
select ((100 - 10) / 100.0) * 100000.00 as number;