如何对AngularJS控制器中的事件做出反应

时间:2017-01-14 20:30:54

标签: javascript angularjs

来自官方网站: https://docs.angularjs.org/guide/controller

向范围对象添加行为以对事件做出反应 或者在视图中执行计算,我们必须为范围提供行为。我们通过将方法附加到$ scope对象来向范围添加行为。然后可以从模板/视图中调用这些方法。

问题 1.哪些事件以及如何在控制器中做出反应? 2.我可以在控制器中进行复杂而冗长的计算吗?

1 个答案:

答案 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。我可以在控制器中进行复杂而冗长的计算吗?

你可以。但你不应该。

控制器是一个空白模块,您可以按照自己喜欢的方式构建。但我建议你尽可能避免这种情况。

要防止重复和冗余代码,您应该将跨多个控制器的相关代码合并到servicesfactories。通过这种方式,您可以保持控制器的结构化,灵活性和可读性。