$ scope.myFunction()和myFunction($ scope)之间的区别

时间:2014-09-23 13:01:27

标签: angularjs angularjs-scope

我目前正在开发一个角度应用程序,我找到了两种方法来调用一个简单乘法的函数。

第一

    function calcul(contexte) {
        contexte.proposition.marge_theorique = contexte.proposition.marge_grille * 2;
    }

并用

调用它
calcul($scope)

第二

    $scope.dynamicChange = function () {
        $scope.proposition.marge_theorique = $scope.proposition.marge_grille * 2;
    }

并用

调用它
$scope.dynamicChange()

这些用法有什么区别?

非常感谢

3 个答案:

答案 0 :(得分:2)

两种方法之间没有执行差异,但我建议您使用第二种方法,因为参数中的传递范围不常见,不添加任何内容,并且它不允许您直接在视图中使用方法。

使用第二种方式(我的意思是$scope.dynamicChange),也是好的,因为你可以从Angular控制器继承中获利。因此,控制器范围的每个子范围都将获得此方法。

结论,您的具体任务没有太大区别,但我建议您使用更“Angular”的方式。

答案 1 :(得分:0)

在上面的示例中,使用dynamicChange()调用函数会引发错误,因为dynamicChange()是$ scope 的方法而不是函数。

您需要致电$scope.dynamicChange

答案 2 :(得分:0)

您无法在html-templates中调用第一个示例的函数。 所以你不能使用像。

这样的东西
<div>
  {{myFunction()}}
</div>