为什么范围函数被多次调用?

Ram*_*dka 4 angularjs

<!DOCTYPE html>
<html>

<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
 </head>

<body>

<div ng-app="myApp" ng-controller="personCtrl">

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

</div>

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
$scope.fullName = function() {
 console.log("inside");
    return $scope.firstName + " " + $scope.lastName;
}
});
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

内部控制台日志值显示三次..我是angularjs的新手,所以请善意让我知道为什么会发生这种情况

Pep*_*ijn 5

每当角度发出范围更改事件时,都会调用范围函数.这是内置的伪造ES6函数调用Object.watch.

因此,多次调用它并不重要,这只是Angular检查更改的方式;)