zoukankan      html  css  js  c++  java
  • vue2 + typescript2 自定义过滤器

    1.定义一个过滤器

    // color-directive.ts
    
    import { DirectiveOptions } from 'vue'
    
    const directive: DirectiveOptions = {
        inserted(el, node) {
            /**
             * Using value:
             * v-colorDirective={color: 'red', backgroundColor: 'blue'}
             */
            if (node.value) {
                el.style.backgroundColor = node.value.backgroundColor;
                el.style.color = node.value.color;
            }
    
            /**Using modifiers:
             * v-colorDirective.color
             * v-colorDirective.backgroundColor
             */
            if (node.modifiers.color){
                el.style.color = node.value;
            }
    
            if (node.modifiers.backgroundColor) {
                el.style.backgroundColor = node.value;
            }
        }
    };
    
    export default directive;
    

    2.使用

    <template>
      <div class="hello">
        <h1 v-colorDirective="{color: 'red', backgroundColor: 'blue'}">{{ message }}</h1>
        <button @click="clicked">Click</button>
        <router-link to="/hello-ts">Hello Ts</router-link>
      </div>
    </template>
    
    <script lang="ts">
    import Vue from 'vue'
    import Component from 'vue-class-component'
    import colorDirective from '../color-directive';
    
    @Component({
      directives: {
        colorDirective
      }
    })
    export default class Hello extends Vue {
     ....   
    }
    
    <template>
        <div>
            <h3 v-colorDirective.color="'green'">HelloTs</h3>
            <router-link to="/">Hello</router-link>
        </div>
    </template>
    <script lang="ts">
    
    import Vue from 'vue'
    import Component from 'vue-class-component'
    import colorDirective from '../color-directive';
    
    @Component({
        directives: {
            colorDirective
        }
    })
    export default class HelloTs extends Vue {
      ...
    }
    

    .

  • 相关阅读:
    2020软件工程个人作业06——软件工程实践总结作业
    2020软件工程作业05
    2020软件工程作业00——问题清单
    2020软件工程作业03
    2020软件工程作业02
    2020软件工程作业01
    Ubuntu中安装最新 Node.js 和 npm
    英语学习单词篇一
    Golang之内存读写
    Golang之正则表达式的使用
  • 原文地址:https://www.cnblogs.com/crazycode2/p/7823562.html
Copyright © 2011-2022 走看看