angularjs - UI Bootstrap - 如何在关闭之前停止工具提示显示更改的文本

标签 angularjs angular-ui-bootstrap

我有一个关于字形的工具提示。当我单击字形图标时,我想隐藏工具提示,然后更改工具提示的文本。这反射(reflect)了已单击的字形图标的状态变化。

但是,当我隐藏工具提示然后更改工具提示的文本时,而不是按此顺序执行操作,您可以在工具提示消失之前看到新文本。

这是 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

有什么想法可以阻止这种行为吗?感谢所有帮助...

最佳答案

这可能是 uib 指令中的问题。

超时解决了问题:

 $timeout(function(){
        $scope.watchTooltip = $scope.watchingCategory ?  'Dont watch' : 'Watch';
    }, 200);

http://plnkr.co/edit/myQlkkiSNO14td21Dv0M?p=preview

关于angularjs - UI Bootstrap - 如何在关闭之前停止工具提示显示更改的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35258719/

相关文章:

javascript - AngularJS - routeProvider 解析调用服务方法

angularjs - 有没有事件表明上传的文件是用CollectionFS写的?

javascript - 为什么模态无法访问外部 Controller ?

javascript - Angular UI Bootstrap Accordion - 第一个 Accordion 组未打开

使用Google Places的angularjs UI引导模态

javascript - Fabricjs:显示横幅预览

javascript - $watch 在 AngularJS 中发生了意外的多个事件?

javascript - 无法在 Angular UI Bootstrap 中使用 typeahead-on-select

javascript - 对象作为 $http 参数

css - 在 Angular 指令中动态更改 CSS?