码迷,mamicode.com
首页 > 其他好文 > 详细

vue常用操作技巧

时间:2020-06-16 18:30:09      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:hang   oba   return   字母   ssi   default   多个   span   函数   

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>

 

vue常用操作技巧

标签:hang   oba   return   字母   ssi   default   多个   span   函数   

原文地址:https://www.cnblogs.com/zmyxixihaha/p/13143285.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!