• vue常用操作技巧


    1、组件注册,随时随地在页面中使用这些高频组件,无需手动一个个引入

    // global.js文件
    import Vue from 'vue'
    //转换单词首字母大写
    function changeStr(str){
      return str.charAt(0).toUpperCase() + str.slice(1)
    }
    //把组件放在src目录下components下,获取所有.vue文件
    const requireComponent = require.context('@components', true, /.vue$/)
    //查找
    const install = () => {
      //例如:fileName = ./child.vue
      requireComponent.keys().forEach(fileName => {
        //拿到名字对应的组件
        let config = requireComponent(fileName)
        //去除./,只留下文件名
        let componentName = changeStr(fileName.replace(/^.//, ''))
        //注册组件
        Vue.component(componentName, config.default || config)
      })
    }
    export default {
      install
    }

    在main.js中,导入global.js

    import scan from './global.js'
    
    Vue.use(scan)

    2、高精度权限控制——自定义指令directive

    通常使用v-if或者v-show来做权限判断。如果判断条件繁琐且多个地方需要判断,很不方便。可以通过全局自定义指令来处理。

    //新建权限存储函数
    export function checkArray(key){
      let arr = ['1', '2', '3', '4', 'demo']
      let index = arr.indexOf(key)
      if(index > -1){
        return true
      }else{
        return false
      }
    }

    将array文件挂在到全局

    import { checkArray } from './array.js'
    Vue.directive("permission", {
      inserted(el, binding) {
        let permission = binding.value
        if(permission){
          let hasPermission = checkArray(permission)
          if(!hasPermission){
            el.parentNode && el.parentNode.removeChild(el)
          }
        }
      }
    })

     使用

        <div>
            <button v-permission="'1'">A</button>
            <button v-permission="'10'">B</button>
            <button v-permission="'3'">C</button>
        </div>

     3、v-for和click同时存在,循环绑定事件,将事件写在父元素上

       <div @click="parentClick($event)">
          <div v-for="item in 10" :a="item" :key="item">
                {{item}}
          </div>
        </div>
    
        parentClick(event){
          console.log(event.target.getAttribute("a"))
        }
  • 相关阅读:
    CentOS7.0下Zabbix3.4至Zabbix4.0的升级步骤(Proxy)
    CentOS6.5下Zabbix3.0升级到4.0
    kubernetes相关概念
    更新OpenSSL
    fish 常用主题推荐
    [转] Adobe acrobat 破解教程
    [转]latex符号
    bank conflct 一句话总结
    Ubuntu 安装boost 库
    ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程
  • 原文地址:https://www.cnblogs.com/zmyxixihaha/p/13143285.html
Copyright © 2020-2023  润新知