这是Angular中的错误还是我遗漏了一些东西:
从指令的模板调用函数表明该函数执行了11次!用templateurl,22次!! 用字符串模板.
angular.module('testDirective', [])
.directive('myDirective', function() {
return {
scope:{},
template: '{{increment()}} {{count}}',
controller: function($scope) {
$scope.count = 0;
$scope.increment = function() {
$scope.count += 1;
};
}
};
})
Run Code Online (Sandbox Code Playgroud)
HTML:
<body ng-app="testDirective">
<my-directive></my-directive>
</body>
Run Code Online (Sandbox Code Playgroud)
结果:
22
Run Code Online (Sandbox Code Playgroud)
这是一个包含template和templateUrl方法的Plunker.
例如,当在转发器中涉及方法调用时,这是一个非常严重的问题,这最终会在相同的方法上调用相同的方法.
有人可以对此有所了解吗?