如果在正常功能中更改ng-if条件,我可以使ng-animate在ng中工作,例如
我的观点:
<div ng-if="!show">
<a ng-click="showWorld()">Hello</a>
</div>
<div ng-if="show" class="animation">
Hello world!
</div>
我在指令中的功能:
scope.showWorld = function() {
scope.show = true;
}
当我调用showWorld()函数来改变ng-if条件,Hello世界时,上面会有效!将出现动画,但如果我这样做:
scope.showWorld = function() {
Post.test(params, function(){
scope.show = true;
})
}
Post是角度$资源,例如:
$resource('api/post', {}, {test: {method: 'POST'}})
并且scope.show仍将被更改并且Hello world!仍然出现,但动画无效...
我在网上搜索了很长时间但找不到答案,有人可以告诉我原因吗?
非常感谢!!
答案 0 :(得分:0)
你可能需要一个$ scope。$ apply()调用你的动作函数,例如:
scope.showWorld = function() {
Post.test(params, function(){
$scope.$apply(function () {
scope.show = true;
});
})
}
您也可以使用$scope.$evalAsync(function(){})
作为替代