工具提示标题未动态刷新

Posted

技术标签:

【中文标题】工具提示标题未动态刷新【英文标题】:Tooltip title not refreshing dynamically 【发布时间】:2019-03-16 10:42:37 【问题描述】:

我的工具提示有这个问题,当我单击“喜欢”按钮时,该项目会被喜欢,但工具提示仍然显示“喜欢”标题,而它现在应该显示“不喜欢”标题。但是当我刷新页面时,它工作正常(显示“不喜欢”的标题)。我希望它在不刷新页面的情况下工作,这是我的代码。

这是点赞按钮所在的部分

<a href="javascript:void(0);" class="@(item.Islike == true ? "icon-like active" : "icon-like")" ng-click="EventlikeNew(@item.event_id)" tooltip-placement="top"  uib-tooltip=@(item.Islike == true ? GetResolvedText("UnlikeText") : GetResolvedText("LikeText"))>

@functions
string GetResolvedText(string key)
    
        return Model.OurCustomer_ViewModel[0].datat.FirstOrDefault(l => l.Key == key).Value;
        //return Model[0].datat.FirstOrDefault(l => l.Key == key).Value;
    

这里是js函数

$scope.EventlikeNew = function (EventId, index, type) 
    debugger;
    $scope.eventLikebeforeLogin.EventId = EventId;
    (index == undefined) ? '' : $scope.eventLikebeforeLogin.index = index;
    $scope.eventLikebeforeLogin.type = type;
    var userid = sessionStorage.getItem("UserId");
    if (userid == null || userid == "null") 
        $('#myModal').modal('toggle');

    
    else 
        if (type == undefined)
            angular.copy($scope.eventDesc, $scope.editeditem);
        else if (type == "manager")
            angular.copy($scope.eventDesc.ManagerialEvents[index], $scope.editeditem);
        else
            angular.copy($scope.eventDesc.SimilarEvents[index], $scope.editeditem);
        EventService.EventLikeapi(EventId, userid).then(function (response) 
            debugger;
            var divLike = $("div#" + EventId);
            var likeCount = 0;
            if (!isNaN(parseInt($(divLike).find("span").html()))) 
                likeCount = parseInt($(divLike).find("span").html());
            
            if ($(divLike).find("a").hasClass("active"))   //Disliking Event
                likeCount--;
                $(divLike).find("a").removeClass("active");
                $(divLike).find("span").css("color", "black");
                // $(divLike).find("a").tooltip("close");

                // $(divLike).find("a").attr('uib-tooltip', 'like');
                if (likeCount > 0) 
                    $(divLike).find("span").html(likeCount);
                
                else 
                    $(divLike).find("span").html("");
                
                $translate('SweetEventdisLikeText').then(function (text) 
                    sweet.show(
                        type: 'warning',
                        title: "",
                        text: text,
                        timer: 2000,
                        showConfirmButton: false,
                        allowOutsideClick: true
                    );
                );
            
            else 
                likeCount++;
                $(divLike).find("a").addClass("active");
                $(divLike).find("span").css("color", "white");
                $(divLike).find("span").html()
                $(divLike).find("span").html(likeCount);
                $(divLike).find("a").tooltip("close");
                $translate('SweetEventLikeText').then(function (text) 
                    sweet.show(
                        type: 'success',
                        title: "",
                        text: text,
                        timer: 2000,
                        showConfirmButton: false,
                        allowOutsideClick: true
                    );
                );
            
            angular.copy($scope.editeditem, (type == undefined ? $scope.eventDesc : (type == "manager" ? $scope.eventDesc.ManagerialEvents[index] : $scope.eventDesc.SimilarEvents[index])));
        );
    ;

【问题讨论】:

【参考方案1】:

用作,ng-click="return EventlikeNew(@item.event_id);"

并且在 EventlikeNew 函数结束时返回 false

我希望它有效。

【讨论】:

究竟在哪里返回false?这两种情况都适用吗? 在完成你的两个条件之后..或者你可以把两个条件都放在末尾,如果只有一个条件会执行

以上是关于工具提示标题未动态刷新的主要内容,如果未能解决你的问题,请参考以下文章

echarts结合百度地图怎么能实现动态刷新,而不需要刷新整个页面

Nuxt.js 刷新 url 得到 404 未找到

表列切换UI未刷新

Listview刷新不适用于动态

动态生成能够局部刷新的验证码AJAX技术---看了不懂赔你钱

动态刷新springboot配置