网上查了很多资料都没有找到解决办法,请大家帮忙!
directive('menu',function(){
return{
link : function(scope,element,attrs){
scope.foo = function(){
alert('test!');
}
},
controller : function($scope){
$scope.foo();
}
}
});
最佳答案
使用 $evalAsync()
延迟对 foo()
的调用:
controller : function($scope){
$scope.$evalAsync(function() {
$scope.foo();
console.log($scope);
});
}
您还可以使用 $timeout()
代替 $evalAsync()
。两者都允许首先执行链接函数。
关于javascript - 如何从 Controller 调用指令范围内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17790333/