当前位置:首页 > 域名

前端架构师成长之路:分享 6 个实用的 Vue 技巧

 Vue 已经成为很多公司前端项目的前端首选框架,而要成为一个会用 Vue 的架构技巧开发者并不需要花太多时间和精力去学习大的概念,但作为成为一个更高级的师成实用开发者就需要去深入框架和基础知识的学习。本文跟分享几个在Vue 项目开发中可以用到的前端小技巧。

1. 使用 prop 限制属性列表

Vue 让自定义组件变得容易,架构技巧在自定义组件的师成实用时候难免不需要传值,建议使用 prop 定义属性,前端并使用属性中的架构技巧 validator 来为属性定义合法性规则:

<template>     <div></div> </template> <script> export default {      name: "QtCardBox",     props: {          content: {              type: String,         },         style: {              type: String,             validator: (s) => ["boxShadow", "rounded"].includes(s),         },     }, }; </script> 

这个validator 函数接受 prop 值,验证并返回 true 或 false 。师成实用

如实例中的前端 Card 组件,限制其样式的架构技巧可选选项,如 阴影 或者 圆角。师成实用还有按钮类型或警报类型(信息、前端成功、源码库架构技巧危险、师成实用警告)是一些最常见选线,使用validator 来限制属性值的合法性。

2. 使用引号 watch 嵌套值

可以轻松地直接查看嵌套值,只需使用引号:

watch: {      "$route.query.id"() {          // ...     }, }, 

这对于处理深度嵌套的对象非常有用!

3. 错误(警告)处理

为 Vue 中的错误和警告提供自定义处理程序:

// Vue 3 const app = createApp(App); app.config.errorHandler = (err) => {      console.error(err); }; // Vue 2 Vue.config.errorHandler = (err) => {      console.error(err); }; 

Bug 跟踪服务可以跟踪记录处理程序中的错误,也可以使用它们更优雅地处理错误,以获得更好的UX。如有兴趣,可以参阅《一种Vue应用程序错误/异常处理机制》。

4. 使用模板标签进行分组

template 标签可以在模板内的任何地方使用,以更好地组织代码。可以用它来简化 v-if 和 v-for 逻辑,来看下面的代码:

<template>     <div class="card">         <h3>             { {  title }}         </h3>         <h4 v-if="expanded">             { {  subheading }}         </h4>         <div v-if="expanded" class="card-content">             <slot />         </div>         <ActionShare v-if="expanded" />     </div> </template> 

从上面代码看,一堆元素被显示和隐藏在一起,如在更大、网站模板更复杂的组件上,这可能是糟糕的表现。可以使用 template 标签对这些元素进行分组:

<template>     <div class="card">         <h3>             { {  title }}         </h3>         <template v-if="expanded">             <h4>                 { {  subheading }}             </h4>             <div class="card-content">                 <slot />             </div>             <ActionShare />         </template>     </div> </template> 

5. 从组件外部调用方法

通过 ref 可以从组件外部调用组件内的方法,在代码和逻辑上更加清晰。现在假如有一个 Form 表单组件,对于新增或者编辑都是使用同一个表单组件,就会涉及初始化的问题,下面来看看代码:

组件代码,其逻辑这里就忽略。

<template>     <div></div> </template> <script> export default {      name: "QtForm",     methods: {          init(options) { },     }, }; </script> 

调用 From 组件,如下:

<template>     <QtForm ref="dataForm" /> </template> export default {      methods: {          showForm(){              this.$refs.dataForm.init({ action:"add"});         }     }, }; </script> 

6. 在 v-for 中解构

在模板中使用 v-for 遍历输出数据,可以在其使用解构语法。

<li   v-for="{  title, id } in articles"   :key="id" >   { {  title }} </li> 

或者数据数据遍历,需要获取索引,如下:

<li   v-for="( item, index ) in articles"   :key="index" >   { {  index }} </li> 

总结

Vue 项目开发入门容易,但要做到最佳实践,可以在项目开发过程中积累。源码下载

分享到:

滇ICP备2023006006号-16