<!DOCTYPE html>
<html data-ng-app="app">
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
</head>
<body data-ng-controller="SimpleController">
<script>
var app = angular.module('app', []);
app.controller('SimpleController', SimpleController);
function SimpleController($scope) {
$scope.isNumberA = function(val) {
console.log('called');
if (val == 2) return true;
}
}
</script>
<input type="checkbox" ng-model="switcher" />
<h1 ng-if="isNumberA(10)">isNumber</h1>
</body>
</html>
在上面的代碼第一次,因爲ng-if="isNumberA(10)"
isNumberA
電話,但我不知道爲什麼它被調用另一個時間。檢查控制檯,它在瀏覽器中的DOM渲染器上打印兩次。之後,當我再次點擊複選框時,它調用該函數。爲什麼這個方法調用複選框點擊?我沒有叫它。這是雙向綁定嗎?而且,如果我刪除<h1 ng-if="isNumberA(10)"></h1>
,它不會調用。這裏發生了什麼?範圍函數調用angularjs
請詳細說明你的答案 –