AngularJs 当模型值发生变化而没有监视函数时触发函数
AngularJs function triggering when a model value change with out a watch function
AngularJs 函数在不使用监视函数的情况下更改模型值时触发。请参考下面的代码。
当模型值 $scope.ActiveTab 发生变化时,函数 $scope.showTab 被触发。但是我没有调用函数 $scope.showTab 也没有为模型编写任何监视函数。
<script>
var app = angular.module("MyApp", []);
app.controller("MyController1", function ($scope, $rootScope) {
$scope.ActiveTab = 'scheme';
$scope.showTab = function (tab) {
var r = $scope.ActiveTab == tab;
return r;
}
$scope.moveNext = function () {
$scope.ActiveTab = 'earning';
};
$scope.moveBack = function () {
$scope.ActiveTab = 'scheme';
};
});
</script>
<div ng-app="MyApp" ng-controller="MyController1">
<div ng-show="showTab('scheme')" style="width: 200px; height: 75px; background-color: aqua;">
One
</div>
<div ng-show="showTab('earning')" style="width: 200px; height: 75px; background-color: rgb(129, 63, 190);">
Two
</div>
<input type="button" value="Back" ng-click="moveBack()" />
<input type="button" value="Next" ng-click="moveNext()" />
</div>
ng-show
为您创建观察者,如果您选中 $scope.$$watchers
,您会发现 Angularjs 创建了 2 个观察者以获取 showTab 函数的更改。
AngularJs 函数在不使用监视函数的情况下更改模型值时触发。请参考下面的代码。 当模型值 $scope.ActiveTab 发生变化时,函数 $scope.showTab 被触发。但是我没有调用函数 $scope.showTab 也没有为模型编写任何监视函数。
<script>
var app = angular.module("MyApp", []);
app.controller("MyController1", function ($scope, $rootScope) {
$scope.ActiveTab = 'scheme';
$scope.showTab = function (tab) {
var r = $scope.ActiveTab == tab;
return r;
}
$scope.moveNext = function () {
$scope.ActiveTab = 'earning';
};
$scope.moveBack = function () {
$scope.ActiveTab = 'scheme';
};
});
</script>
<div ng-app="MyApp" ng-controller="MyController1">
<div ng-show="showTab('scheme')" style="width: 200px; height: 75px; background-color: aqua;">
One
</div>
<div ng-show="showTab('earning')" style="width: 200px; height: 75px; background-color: rgb(129, 63, 190);">
Two
</div>
<input type="button" value="Back" ng-click="moveBack()" />
<input type="button" value="Next" ng-click="moveNext()" />
</div>
ng-show
为您创建观察者,如果您选中 $scope.$$watchers
,您会发现 Angularjs 创建了 2 个观察者以获取 showTab 函数的更改。