添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Vite相信大家都用过,它是一种新型前端开发与构建工具,能够显著提升前端开发体验。我们在搭建Vite项目,选择 Vue 模板之后,默认会下载 Vue 3模板。如果你的公司现在还没有准备 使用 Vue 3,而在 使用 Vue 2 ,那么这篇文章值得你继续看下去。下面,我将带大家如何搭建一个 Vite+ Vue 2 + Composition - api +**这里 使用 快捷初始化命令:** yarn init -y **安装Vite。** yarn add vite -D **初始化 Vue 2 我们需要安装 Vue 2 ,所以直接这样安装。**
找到 @ vue / composition - api 文档,翻阅 使用 方式,结果看到一句醒目的提醒, vue 2 . 7+ 版本已经内置了该库, 该库需要配合 vue 2 . 6+ 以下版本 使用 ,这时候我就返回项目查看 vue 对应的版本,package . js on 显示的是 " vue " : "^ 2 . 6 . 14" 版本。代表的是安装最近的一个大版本, 比如 2 . 6 . 14 将会匹配所有 2 . x . x,但不包含 3 . x . x 版本。^ 的意思是最近的一个大版本,比如 ^ 2 . 6 . 14 将会匹配所有的 2 . x . x 版本,但不包括3 . x . x。
遇到这种错误:检查一下自己data(){ }内有没有类似图片上的代码结构的参数。这种属于 js x语法,也能直接将组件渲染出来,但是在某些特定情景下浏览器控制台会报 ReferenceError : h is not defined 这个错误 解决办法:在methods(){} 体内新建一个方法,将上面一整个结构的参数剪贴到方法上。你template 代码块之前调用的data内从参数,现在改为调用methods内从方法 问题 就解决啦、 . . .
Vue 3 新出的 Composition API 可以以更优雅的姿势聚集零散代码,自定义的 hook 函数使逻辑可以更好的复用,之前老旧的 Vue 2 项目也可以体验 Composition API 了。 安装 @ vue / composition - api : yarn add @ vue / composition - api 在 main . js 中引入 : import Vue from ' vue ' import Vue Composition API from '@ vue / composition - api ' Vue . use(V
尽量不要与 Vue 2 . x 配置混用 setup 不能是一个 async 函数,因为返回值不再是 return 的对象,而是 prom is e,模板看不到 return 对象中的属性 . . . <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1 . 0, maximum-scale=1 . 0, minimum-scale=1 . 0"> <meta ht . . .
解决: 使用 Vue 3 Script Setup 时 ESLint 报错 ‘defineProps’ is not defined Vue 3 的 Script Setup 语法引入了 defineProps、 defineEmits 、defineExpose、withDefaults 的编译器宏。然而某些情况下,ESLint 会报错以上编译器宏函数未定义。 本文将介绍两种解决方案来解决这个 问题 (假定你的项目 使用 Vue -Cli 进行初始化)。 Step 1 . 检查 eslint-plugin- vue
### Vue 2 使用 Composition API 与路由配合 尽管 Composition API Vue 3 的核心特性之一,但在 Vue 2 中也可以通过安装 `@ vue / composition - api ` 插件来实现类似的开发体验。以下是关于如何在 Vue 2 中结合 Composition API Vue Router 进行 使用 的说明。 #### 安装依赖 为了在 Vue 2 项目中启用 Composition API ,需先安装插件并注册到应用中: ```bash npm install @ vue / composition - api 随后,在项目的入口文件(通常是 `main . js ` 或 `entry . js `)中引入并注册插件: ``` javascript import Vue from ' vue '; import Vue Composition API from '@ vue / composition - api '; Vue . use( Vue Composition API ); #### 配置路由 按照标准方式配置 Vue Router,例如以下代码片段展示了如何定义简单的路由表[^1]: ``` javascript const routes = [ { path : '/one', component : { template : '#a' } }, { path : '/two', component : { template : '#b' } } const router = new Vue Router({ routes, 接着初始化 Vue 应用实例时传入路由器对象: ``` javascript new Vue ({ el : '#box', router, // 注册路由 对于现代构建工具链下的 Vue 2 项目,则可能采用模块化导入的方式设置路由[^4] : ``` javascript // main . js import { createApp } from ' vue '; // 如果支持兼容模式可继续沿用原生语法 import App from ' . /App . vue '; import router from ' . /router/index'; // 假设已创建好独立的路由配置文件夹 createApp(App) . use(router) . mount('#app'); #### 使用 Composition API 访问路由信息 一旦完成上述准备工作之后,便可以在基于 Composition API 构建的组件内部访问当前活动路径以及其他导航功能。下面是一个例子展示怎样利用响应式变量监听 URL 变更事件以及执行跳转操作 : ```html <template> Current Route Path is {{ currentPath }} <button @click="navigateTo('/one')">Go To One</button> <button @click="navigateTo('/two')">Go To Two</button> </template> < script > import { ref, onMounted } from '@ vue / composition - api '; import { useRouter, useRoute } from ' vue -router'; export default { setup () { const route = useRoute(); // 获取当前路由状态 const router = useRouter(); // 获取全局路由管理器 let currentPath = ref(route . path); // 初始化显示初始页面地址 function navigateTo(path){ router . push({path}); // 执行页面切换逻辑 onMounted(() => { console . log('Component mounted at : ', route . fullPath); return {currentPath,navigateTo}; </ script > 注意这里调用了两个辅助函数——`useRouter()` 和 `useRoute()` 来分别获取整个应用程序级别的路由控制器实例和局部视图上下文中特定于某个时刻的状态快照[^5]。 此外还可以自定义滚动行为以便优化用户体验效果[^3] : ``` javascript const router = new Vue Router({ . . . scrollBehavior(to,from,savedPosition){ if(savedPosition){ return savedPosition; }else{ return {top : 0}; 以上就是有关 Vue 2 下运用 Composition API 结合 Vue Router 开发的一些基本概念和技术要点介绍。