怎么用路由把数据放进去new Vue({ el: '#app', data() { return { items: [] } }, created() { const rawData = [ { "id": 1, "name": "item 1", "parentId": null }, { "id": 2, "name": "item 2", "parentId": 1 }, { "id": 3, "name": "item 3", "parentId": 2 }, { "id": 4, "name": "item 4", "parentId": null } ]; const itemMap = {}; rawData.forEach(item => { item.children = []; itemMap[item.id] = item; }); const items = []; rawData.forEach(item => { if (item.parentId === null) { items.push(item); } else { const parentItem = itemMap[item.parentId]; parentItem.children.push(item); } }); this.items = items; } });
时间: 2024-02-14 22:22:18 浏览: 116
这段代码是通过创建一个Vue实例并使用路由来将数据放入items数组中。具体实现步骤如下:
1. 创建一个Vue实例,并将其挂载到一个具有id为“app”的DOM元素上。
2. 在data中定义一个名为items的空数组。
3. 在created生命周期钩子中,定义一个原始数据数组rawData,以及一个空对象itemMap。
4. 遍历rawData数组中的每个元素,并为每个元素添加一个children属性,并将其添加到itemMap中,以便后面在构造树形结构时能够快速查找元素。
5. 定义一个空数组items,用于存储构造出的树形结构。
6. 遍历rawData数组中的每个元素,如果该元素的parentId为null,将其添加到items数组中;否则,从itemMap中查找该元素的父元素,并将其添加到父元素的children数组中。
7. 将构造好的items数组赋值给Vue实例的data中的items属性,以便在模板中使用。
总的来说,这段代码的作用是将一个平面的数据结构转换为树形结构,并将其存储在Vue实例的data中的items属性中,以便在模板中进行展示。
阅读全文