我有一个工作提示工作在glyphicon上。当我单击glyphicon时,我想隐藏工具提示,然后更改工具提示的文本。这反映了已点击的glyphicon的状态变化。
然而,当我隐藏工具提示,然后更改工具提示的文本,而不是按此顺序执行时,您可以在工具提示消失之前看到新文本。
这是html:
<span class="glyphicon glyphicon-eye-open watch-eye"
ng-click="eyeClicked()" uib-tooltip="{{watchTooltip}}"
tooltip-placement="auto top" tooltip-is-open="eyeTooltipIsOpen">
</span>
这是javascript:
$scope.watchingCategory = false;
$scope.watchTooltip = 'Watch';
$scope.eyeClicked = function() {
$scope.eyeTooltipIsOpen = !$scope.eyeTooltipIsOpen;
$scope.watchingCategory = !$scope.watchingCategory;
if($scope.watchingCategory === true) {
$scope.watchTooltip = 'Dont watch';
}
else if($scope.watchingCategory === false) {
$scope.watchTooltip = 'Watch';
}
};
我创建了一个plnkr来准确显示它是如何工作的:http://plnkr.co/edit/myQlkkiSNO14td21Dv0M
任何想法如何阻止这种行为?所有帮助表示赞赏...
答案 0 :(得分:2)
这可能是uib指令中的一个问题。
超时解决了问题:
$timeout(function(){
$scope.watchTooltip = $scope.watchingCategory ? 'Dont watch' : 'Watch';
}, 200);