vue——this.$parent算法

博客主要讲述了子组件调用父组件方法的情况,涉及父组件一和父组件二,子组件可调用这两个父组件中的方法,属于前端开发中组件交互的内容。

父组件一:

 

父组件二:

 

子组件调用父组件一和父组件二中的方法

<template> <view class="mindmap-container"> <view class="canvas"> <MindNode :node="rootNode" :selectedId="selectedId" @node-toggle="toggleNode" @add-child="addChildNode" @edit-text="editNodeText"/> </view> </view> </template> <script> import MindNode from '@/components/MindNode/MindNode.vue'; export default { components: { MindNode }, data() { return { rootNode: null, selectedId: 'root', }; }, created() { this.initRootNode(); }, methods: { initRootNode() { this.rootNode = { id: 'root', content: '中心主题', expanded: true, level: 0, position: { x: 0, y: 0 }, children: [] }; }, addChildNode(parent) { // 层级限制:最多10层(根节点为0级)[^3] if (parent.level >= 9) { uni.showToast({ title: '已达到最大层级(10层)', icon: 'none' }); return; } const childCount = parent.children.length; const newNode = { id: `node-${Date.now()}`, content: '新节点', expanded: true, level: parent.level + 1, position: { x: parent.position.x + 180, y: parent.position.y + (childCount * 60) }, children: [] }; parent.children.push(newNode); this.selectedId = newNode.id; }, toggleNode(node) { node.expanded = !node.expanded; this.$forceUpdate(); }, // 编辑节点文本 editNodeText({ node, newText }) { node.content = newText; this.$forceUpdate(); } } }; </script> <style scoped> .mindmap-container { position: relative; width: 100vw; height: 100vh; overflow: auto; background: #f8f9fa; } .canvas { position: relative; padding: 100px; min-height: 100vh; min-width: 100vw; } </style> 优化这段代码中新节点与新节点之间的距离,使其与根节点与新节点之间的距离一致
10-01
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值