Vue小知识

作者: 没名字的某某人 | 来源:发表于2022-01-19 11:06 被阅读0次

环境变量

process.env中就可以访问到当前环境变量,应用于baseURL配置,可在 .env 文件中以 VUE_APP为前缀定义自定义属性。更多介绍移步掘金

多个组件引入

// componentsImport.js
export {default as TurnoverMoney} from "./TurnoverMoney.vue";
export {default as ProjectType}  from "./ProjectType.vue";
// .vue
import * as itemElements from "../itemElement";
export default{
  ...
  components: { ...itemElements },
}

认识Vue.use()和install方法

利用use方法,可以帮助我们注册好组件和自定义指令

// 引入组件
import LoadingComponent from './loading.vue'
// 定义 Loading 对象
const Loading={
    // install 是默认的方法。当外界在 use 这个组件的时候,就会调用本身的 install 方法,同时传一个 Vue 这个类的参数。
    install:function(Vue){
        Vue.component('Loading',LoadingComponent)
    }
}
// 导出
export default Loading

// 其中'./components/loading/index' 的 /index 可以不写,webpack会自动找到并加载 index 。如果是其他的名字就需要写上。
import Loading from './components/loading/index'
// 这时需要 use(Loading),如果不写 Vue.use()的话,浏览器会报错,大家可以试一下
Vue.use(Loading)

更多介绍移步掘金

vue+vscode断点调试

参考掘金

动态生成面包屑

根据routes路由表层级访问动态生成面包屑,在$route.matched属性中,可以查看当前路由层级关系,配合在层级路由meta属性,可动态渲染面包屑

// routes中配置
{
  path:'/',
  meta:{title:'首页'},
  children:[
    {
      ...
      path:'manage',
      meta:{title:'活动管理'},
      children:[
        {
          ...
          path:'list',
          meta:{title:'活动列表'}
        }
      ]
    }
  ]
}

// 面包屑代码
<el-breadcrumb-item v-for="breadCrumbItem in breadCrumbList" :key="breadCrumbList.path">
{{breadCrumbItem.meta.title}}
</el-breadcrumb-item>

...
computed:{
  breadCrumbList() {
    return this.$route.matched;
  }
}
...

检测元素外部(或内部)的单击

有时候需要检测单击是发生在特定元素el的内部还是外部,通常使用的方法是:

window.addEventListener('mousedown', e=>{
  // 获取被点击元素
   const clickedEl = e.target;
  if(el.contains(clickedEl)){
    // 在 el 内点击
  } else{
    // 在 el 外点击
  }
])

组件元数据

并不是添加到一个组件的每一点信息都是状态。有时我们需要添加一些元数据,给其他组件提供更多信息。

export default {
  name: 'LiveUsersWidget',
  // 👇 只需将其作为一个额外的属性添加
  columns: 3,
  props: {
    // ...
  },
  data() {
    return {
      //...
    };
  },
};

你会发现这个元数据是组件上的一个属性。

import LiveUsersWidget from './LiveUsersWidget.vue';
const { columns } = LiveUsersWidget;

我们也可以通过特殊的$options属性从组件内部访问元数据。

export default {
  name: 'LiveUsersWidget',
  columns: 3,
  created() {
    // 👇 `$options` contains all the metadata for a component
    console.log(`Using ${this.$options.metadata} columns`);
  },
};

只要记住,这个元数据对组件的每个实例都是一样的,而且不是响应式的。

这方面的其他用途包括(但不限于):

  • 保持单个组件的版本号
  • 用于构建工具的自定义标志,以区别对待组件
  • 在计算属性、数据、watch 等之外为组件添加自定义功能
  • 其它

相关文章

  • 【Vue】常用指令之v-show

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue常用指令之v-show 写在前面 Vue (...

  • 【Vue 】:visible.sync 的作用

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue中的visible.sync的作用 1.写在...

  • 【Vue】常用指令之v-text

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue常用指令之v-text 目录 1.v-tex...

  • 【Vue 】过滤器filters

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue过滤器filters 1. 什么是过滤器? ...

  • 【Vue】常用指令之v-html

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue常用指令之v-html v-html指令其实...

  • 【Vue】常用指令之v-bind

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue常用指令之v-bind v-bind指令是专...

  • 【Vue】常用指令之v-on

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue常用指令之v-on v-on指令是事件绑定指...

  • 【Vue】常用指令之v-if

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue常用指令之v-if条件判断 1. v-if指...

  • 【Vue】常用指令v-if和v-show的区别

    ?【Vue】学习养成记,【程序员必备小知识】 ? 今日小知识——Vue指令v-if和v-show的区别 v-sho...

  • Vue小知识

    Vue基础知识 Vue框架作用 拓展html的功能,属性 vue是一套构建用户界面的 渐进式框架,Vue.js 的...

网友评论

    本文标题:Vue小知识

    本文链接:https://www.haomeiwen.com/subject/itulfrtx.html