每个控制器都有一个关联的$scope
对象。
控制器(构造函数)函数负责设置模型属性和函数。这只能通过$ scope来完成。无论您在View(html文件)中应用哪种函数或模型,都可以使用范围在控制器中访问。
只能从HTML /视图访问此$ scope对象上定义的方法。示例 - 从纳克单击,过滤器等
现在,让我们看看你的例子一个接一个 -
function MyController($scope) {
$scope.username = 'World';
};
在上面的例子中,你正在定义一个名为任何属性用户名,其值为“世界”。假设你有下面的代码行的文件 -
<div ng-controller="MyController">
<h1>{{data.username}}</h1></div>
这将自动拿起从控制器的值,并在屏幕上显示出来。值得注意的是“数据”。在标记中是html页面可以引用控制器的控制器的名称。这通常是在控制器内或HTML文件的顶部定义的。
2.
$scope.sayHello = function() {
$scope.greeting = 'Hello ' + $scope.username + '!';
};
这是您可以在其中通过下面的代码在视图访问控制器定义的函数 -
<div ng-controller="MyController">
<h1>{{data.greeting}}</h1></div>
这里,data.greeting会自动拾取来自sayHello函数的值,即显示的值将是“Hello World”。用户名中的“World”与之前的“Hello”连接。
我希望这能消除你的疑惑。 :)
以上功能也可以在没有任何参考$ scope [[plunker](http://plnkr.co/edit/3RFKwkpyqGAU4loTI6hR?p=preview)] – tomd
“$ scope基本上是一个javaScript对象与一些内置的钩子“([Lukas Ruebbelke](http://onehungrymind.com/)) – tomd