'use strict';
angular.module('app', [])
.controller('MainCtrl', function($scope) {
console.log('heyo')
})
.directive('panel', function() {
return {
template: '<div ng-if="isAuthenticated()">Im In!</div>',
restrict: 'E',
scope: {},
replace: true,
link: function(scope, element, attrs) {
var uid = 3
scope.isAuthenticated = function() {
console.log(uid)
return uid !== null
}
}
}
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.4/angular.min.js"></script>
<div ng-app="app">
<panel></panel>
</div>
私の質問はとてもシンプルで簡潔です。私のconsole.log
アプリでは 50 回評価されますが、ここでは 2 回しか評価されません。
何が起こっている?
結びついていないとしても、サイクルに関連していると思います$digest()
が、より明確な答えがあればいいでしょう。