实习笔记01-循环依赖问题与zTree右键添加菜单

本文探讨了在Spring中遇到的循环依赖问题,详细解释了问题场景、分析及解决方案,并提供了相关面试题作为参考。同时,介绍了如何在Ztree中添加右键菜单,包括在ry-ui.js中添加回调函数,以及在html中调用和编写具体操作的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、循环依赖问题

问题场景

 问题分析

 问题解决

相关面试题

二、Ztree右键添加菜单

准备右键菜单

ry-ui.js中添加回调函数

 html中调用刚刚的回调函数

编写回调函数具体操作


一、循环依赖问题

问题场景

在templateServiceImpl中注入了fieldService,同时又在fieldServiceImpl中注入了templateService,产生了循环依赖问题。

 问题分析

我的templateServiceImpl注入了fieldService,同时又在fieldServiceImpl中注入了templateService,工厂在创建Bean时不知道先创建哪一个,导致发生循环依赖问题。

 问题解决

 在application.yml文件中添加spring.main.allow-circular-references注解。

相关面试题

 参考链接:循环依赖如何解决?

二、Ztree右键添加菜单

准备右键菜单

<!--右键出来的功能菜单-->
<div id="rMenu">
    <li>
        <a href="javascript:void(0)" class="list-group-item" 
             onclick="copyTem()">复制</a>            
    </li>
</div>

ry-ui.js中添加回调函数

beforeRightClick: options.beforeRightClick,    // 用于捕获右键之后的事件回调函数
onRightClick: options.onRightClick

 html中调用刚刚的回调函数

编写回调函数具体操作

    function onRightClick(event, treeId, treeNode) {
        debugger;
        if (treeNode.parentId == 0) {
            //显示右侧菜单
            copyTemplateId = treeNode.id;
            /*$("#rMenu").show();
            alert('hhh');*/
            if (!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) {
                showRMenu("root", event.clientX, event.clientY);
            } else if (treeNode && !treeNode.noR) {
                showRMenu("node", event.clientX, event.clientY);
            }
        }
    }
    //显示右键菜单
    function showRMenu(type, x, y) {
        $("#rMenu").show();
        $("#rMenu").css({"top": y + "px", "left": x + "px", "visibility": "visible"}); //设置右键菜单的位置、可见
        $("body").bind("mousedown", onBodyMouseDown);
    }

    //隐藏右键菜单
    function hideRMenu() {
        $("#rMenu").css({"visibility": "hidden"}); //设置右键菜单不可见
        $("body").unbind("mousedown", onBodyMouseDown);
    }
    //鼠标按下事件
    function onBodyMouseDown(event) {
        if (!(event.target.id == "rMenu" || $(event.target).parents("#rMenu").length > 0)) {
            // $("#rMenu").hide();
            $("#rMenu").css({ "visibility": "hidden"});
        }
    }
    //复制按钮调用接口
    function copyTem() {
        var request = {
            url: prefix + "/copyTemplate/" + copyTemplateId,
            type: "post",
            dataType: "json",
            success: function (result) {
                queryTemplateTree();
                $.modal.alert(result.content);
            }
        };
        $.ajax(request);
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值