1. 两种导入的区别
第一种导入是在 vue-router 库里面,导入实体变量 第二种是在本地配置好的文件里面,导出router
2. 关于箭头函数 代码块和 字面量的不同理解
这是因为在 JavaScript 中,如果箭头函数的 函数体 是一个对象字面量(如
{ cities: [] }),你必须使用圆括号包裹对象字面量。否则,JavaScript 会将大括号 {} 误认为是 代码块的开始,而不是对象字面量的开始。
例子解释:
javascript
() => ({ cities: [] })
()表示这是一个没有参数的箭头函数。=>是箭头函数的符号。({ cities: [] })是该箭头函数的 返回值,即一个对象字面量{ cities: [] }。为了让 JavaScript 明确知道它是返回一个对象,而不是一个代码块,我们需要用圆括号将对象字面量包裹起来。
为什么需要圆括号?
没有圆括号,JavaScript 会错误地解析大括号 {} 为一个 代码块,并认为 cities: [] 是该代码块中的一条语句,导致语法错误。例如:
javascript
// 错误的写法:没有圆括号包裹对象字面量
() => { cities: [] } // 这将被解释为一个代码块,语法错误
这种写法等价于:
javascript
() => {
return cities: [] // 这里的 cities: [] 会被当作语法错误
}
总结:
({ cities: [] })中的圆括号是必须的,用来明确告知 JavaScript 你是要返回一个对象,而不是开始一个代码块
3. 关于路由的问题,这里这两个是并排的关系
router-view 和 router-link 这两个需要并排