如何在angularjs中定义之前调用函数

时间:2016-03-04 13:19:35

标签: javascript angularjs

我想在定义之前使用函数。因为有些时候会有很多初始化变量,所以我想看看我的代码非常安排,但是如果我们在定义之后调用函数,我的代码看起来不太好,我知道它在C / C ++中是不可能的。但是如果在angularjs中有可能会有一些方法,请告诉我们。

请参阅一些java脚本代码

<body>
<div ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.printName();// No working
    $scope.printName=function(){
      $scope.firstName = "John";
      $scope.lastName = "Doe";
    }
    //$scope.printName();// working
});
</script>

</body>

以下代码正在运行,但我的要求如上所述,我定义了类似$scope.printName=function(){}的函数,因为此函数在视图中用作ng-click。

 printName();// working
    function printName(){
      $scope.firstName = "John";
      $scope.lastName = "Doe";
    }

请参阅演示Pluker

1 个答案:

答案 0 :(得分:3)

唯一的方法是使用一个挂起的命名函数定义:

printName();
$scope.printName = printName;

function printName() {
    $scope.firstName = ...
}

这值得吗?可能不是。

如果您不需要在范围上公开该函数(即,如果不需要$scope.printName = printName),则可能值得考虑。但在那种情况下,你有没有再打电话给这个功能?如果没有,那么根本不要使用功能。

另外,除此之外,“printName”对于此功能来说是用词不当。如果有的话是“setDefaultName”。