• nuxt.js怎么写一个全局的自定义指令


    官网例子的延伸https://cn.vuejs.org/v2/guide/custom-directive.html
    第一种,全局指令,局部引入
    1.先建立一个directive的文件,在地下建立子文件,例如focus.focus底下有index.js

    import Vue from 'vue'
    const focus = Vue.directive('focus', {
        // 当被绑定的元素插入到 DOM 中时……
        inserted: function(el) {
            // 聚焦元素
            console.log(el, 'el');
    
            el.focus()
        }
    })
    export default focus
    

    2.在组件里面去引入和使用

    <template>
      <div>
        <p>Hi from {{ name }}</p>
        <NLink to="/">
          Home page ---我是about
        </NLink>
        <!-- 使用自定义指令 -->
        <input type="text" v-focus> 
      </div>
    </template>
     
    <script>
    import focus from '../directive/focus'  //使用自定义指令
    export default {
      loading: false,
      directives: { focus }, //使用自定义指令
      asyncData () {
        return {
          name: process.static ? 'static' : (process.server ? 'server' : 'client')
        }
      },
      head: {
        title: 'About page'
      },
      created() {
        console.log(this.$route.params, 'this.$route'); 
      }
    }
    </script>
    

    第二种,全局自定义指令,不用引入直接用
    1.先建立一个directive的文件,在地下建立子文件,例如focus.focus底下有index.js

    import Vue from 'vue'
    const focus = Vue.directive('focus', {
        // 当被绑定的元素插入到 DOM 中时……
        inserted: function(el) {
            // 聚焦元素
            console.log(el, 'el');
    
            el.focus()
        }
    })
    export default focus
    

    2 在nuxt.config.js
    module.exports的底下写入

      plugins: [
            { src: './plugins/proto', ssr: false },
            { src: './directive/focus', ssr: false } // added
        ]
    

    3.直接用

     <div>
            我看看指令行不行哈
            <input type="text" v-focus>
        </div>
    
  • 相关阅读:
    SQL中sum(),avg()等统计结果为null的解决方法
    PowerDesigner教程系列(六)概念数据模型
    只能输入正整数 已经常用的正则表达式
    PowerDesigner教程系列(四)概念数据模型
    linux全局页目录项
    开始吧
    Tomcat最大连接数问题
    CKEDITOR使用与配置
    /proc/cpuinfo 文件分析(查看CPU信息)
    Tomcat SSL配置及Tomcat CA证书安装
  • 原文地址:https://www.cnblogs.com/antyhouse/p/12552092.html
Copyright © 2020-2023  润新知