来自官方网站: https://docs.angularjs.org/guide/controller
向范围对象添加行为以对事件做出反应 或者在视图中执行计算,我们必须为范围提供行为。我们通过将方法附加到$ scope对象来向范围添加行为。然后可以从模板/视图中调用这些方法。
问题 1.哪些事件以及如何在控制器中做出反应? 2.我可以在控制器中进行复杂而冗长的计算吗?
答案 0 :(得分:1)
<强> 1。哪些事件以及如何在控制器中做出反应?
对于事件,简单的交互意味着涉及一些数据管理。
例如,您可以拥有以下控制器:
<div ng-controller="SampleController">
<p>{{ number }}</p>
<button ng-click="increment()">Increment the number</button>
</div>
<script>
var myApp = angular.module('myApp',[]);
myApp.controller('SampleController', ['$scope', function($scope) {
$scope.number = 1;
$scope.increment = function() {
$scope.number++;
});
}]);
</script>
因此,事件在这种情况下是按钮上的点击功能,操作是数字变量的数据操作。
<强> 2。我可以在控制器中进行复杂而冗长的计算吗?
你可以。但你不应该。
控制器是一个空白模块,您可以按照自己喜欢的方式构建。但我建议你尽可能避免这种情况。
要防止重复和冗余代码,您应该将跨多个控制器的相关代码合并到services或factories。通过这种方式,您可以保持控制器的结构化,灵活性和可读性。