この国へのガイド: PHP と Vue を使用したブレイン マップ機能の構築における最高の実践経験
はじめに:
ブレイン マップは、一般的に使用される情報の組織化と思考です。ツールを使用すると、考えを明確にし、情報を整理するのに役立ちます。 Web 開発では、PHP および Vue フレームワークを使用してマインド マップ機能を構築し、ユーザーにより良いマインド マップ エクスペリエンスを提供できます。この記事では、PHP と Vue を使用してマインド マッピング機能を構築する方法を紹介し、いくつかのベスト プラクティスを共有します。
-- 创建节点表 CREATE TABLE `nodes` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `parent_id` int(11) unsigned NOT NULL DEFAULT '0', `title` varchar(255) NOT NULL DEFAULT '', `content` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 创建节点关系表 CREATE TABLE `node_relations` ( `parent_id` int(11) unsigned NOT NULL, `child_id` int(11) unsigned NOT NULL, PRIMARY KEY (`parent_id`, `child_id`), FOREIGN KEY (`parent_id`) REFERENCES `nodes` (`id`) ON DELETE CASCADE, FOREIGN KEY (`child_id`) REFERENCES `nodes` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
<?php namespace AppHttpControllers; use AppModelsNode; use IlluminateHttpRequest; class NodeController extends Controller { public function index() { $nodes = Node::with('children')->where('parent_id', 0)->get(); return response()->json($nodes); } }
上記のコードでは、ノード モデルを通じてルート ノード (parent_id
が 0 であるノード) を取得します。および with('children')
メソッドを使用して子ノード データをプリロードし、後続のクエリの数を減らします。
<template> <div class="mindmap"> <ul> <li v-for="node in nodes" :key="node.id"> {{ node.title }} <Mindmap :nodes="node.children" v-if="node.children.length > 0" /> </li> </ul> </div> </template> <script> export default { name: 'Mindmap', props: ['nodes'], components: { Mindmap: () => import('./Mindmap.vue'), }, }; </script> <style> /* 样式省略 */ </style>
上記のコードでは、Vue の v-for
命令を使用してノード データを走査し、再帰的に使用します。ノードの階層関係を表示します。ノードに子ノードがある場合、動的コンポーネントを通じて子ノードを再帰的にレンダリングします。
<script> export default { name: 'MindmapApp', data() { return { nodes: [], }; }, mounted() { this.fetchNodes(); }, methods: { fetchNodes() { // 调用后端API接口获取脑图数据 axios.get('/api/nodes') .then((response) => { this.nodes = response.data; }) .catch((error) => { console.error(error); }); }, }, }; </script>
上記のコードでは、axios
ライブラリを使用して非同期リクエストを開始し、バックエンド API インターフェイスを呼び出します。 Brain マップ データを取得し、そのデータを Vue インスタンスの nodes
属性に割り当てます。
概要:
PHP と Vue の連携により、ブレイン マップ機能を簡単に構築でき、ユーザーにより良いブレイン マップ エクスペリエンスを提供できます。実際のプロジェクトでは、ノードの編集やノードのドラッグなどの機能を追加することで、ブレインマップのインタラクティブ性をさらに高めることができます。この記事を共有することで、皆さんがブレイン マップ機能を構築するきっかけになれば幸いです。皆さんも、より多くのベスト プラクティスや経験を探索することを歓迎します。
以上が国を導く: PHP と Vue を使用してブレイン マップ機能を構築するベスト プラクティスの経験の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。