关于javascript:$ scope与控制器上下文中的区别?

Difference between $scope and this in controller context?

本问题已经有最佳答案,请猛点这里访问。

我正在做一个关于AngularJS的在线课程,他们建议编写这样的控制器:

控制器:

1
2
3
app.controller("TestController", function() {
    this.printable ="Hello, World";
});

观点:

1
    {{ test.printable }}

这很奇怪,我读过的其他教程都建议将控制器编写为:

1
2
3
app.controller("TestController", ["$scope", function($scope) {
    $scope.printable ="Hello, World";
});

这两种方法有什么区别?


区别在于与之交互的对象的范围。$scope是一个注入控制器的对象。您的控制器是一个对象,代表您的角度应用程序的给定部分。

在早期的角度,控制器不是物体。他们现在是。

无论哪种方法,你都可以(如果你担心哪种方法是正确的),但是controller as稍微简洁一些。