vue局部和全局自定义过滤器和自定义指令的方法

如下是一个vue页面:

<template>
    <div id="methods"></div>
</template>
<script>
export default {
  data() {
    return {};
  },
  created: {},
  methods: {},
  // 自定义私有指令
  directives: {
    fontWeight: {
      bind: function(el, binding) {
        el.style.fontWeight = binding.value;
      },
      inserted: function(el) {},
      updated: function(el) {}
    }
  },
  // 定义局部过滤器
  filters: {
    msgDateFormate: function(msg) {
      //将字符串转换成date类型
      var mt = new Date(msg);
      // 获取年份
      var y = mt.getFullYear();
      // 获取月份
      var m = mt.getMonth() + 1;
      // 获取天数
      var d = mt.getDate();
      // 拼接字符串
      return y + "-" + m + "-" + d;
    }
  },
  mounted: {}
};
</script>
<style lang="scss" scoped>
</style>

如下是全局定义,main.js中

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
//这里自定义的指令都是全局指令
// 定义全局的指令  v-focus
// 和样式相关的操作,一般都可以在 bind 中执行
// 和JS行为有关的操作,最好在 inserted 中去执行
Vue.directive("focus", {
  bind: function (el) {

  },
  inserted: function (el) {
    el.focus()
  },
  updated: function (el) {

  }
})
// 自定义一个颜色指令
Vue.directive("bg-color", {
  bind: function (el) {
    el.style.background = "red"
  },
  inserted: function (el) {

  },
  updated: function (el) {

  }
})
// 自定义一个颜色指令,可以传参的那种
Vue.directive("paramsColor", {
  bind: function (el, binding) {
    // el.style.background = "red"
    el.style.color = binding.value
    el.style.fontWeight = binding.value
  },
  inserted: function (el) {

  },
  updated: function (el) {

  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值