zoukankan      html  css  js  c++  java
  • 指令的简单应用

    一:写个指令可以调转路由

    1.pageLink.js:

    export default {
        install (Vue) { 
            // 一个指令定义对象可以提供如下几个钩子函数(bind,inserted,update,componentUpdated,unbind)
            Vue.directive('link', {
                // 只调用一次,指令第一次绑定到元素时调用,el为指令所绑定的元素,可以用来直接操作 DOM,binding为一个对象,vnode为虚拟dom
                bind (el, binding, vnode) { 
                    el.addEventListener('click', function () { 
                        vnode.context.$router.push(binding.value)
                    }, false)
                }
            })
        }
    }
    

     2.new Vue之前安装插件

    import pageLink from '@/components/install/pageLink.js'
    // 安装路由跳转
    Vue.use(pageLink)
    

     3.使用方法

    <button type="button" v-link="{name: 'myslide'}">跳转到slide</button>
    

     二,移动端中上部分内容固定结构

    let resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
    Vue.directive('height-to-bottom', {
    	inserted: function (el, binding) {
    		let bottom = binding.value && binding.value.bottom || 0
    		el.handler = function () {
    			if (document.documentElement.clientHeight - el.getBoundingClientRect().top - bottom > 0) {
    				el.style.height = document.documentElement.clientHeight - el.getBoundingClientRect().top - bottom + 'px'
    			}
    		}
    		el.handler()		
    		window.addEventListener(resizeEvt, el.handler, false)
    	},
    	unbind: function (el, binding) {
    		if (!el.handler) return
    		window.removeEventListener(resizeEvt, el.handler, false)
    		el.handler = null
    	}
    })
    

      

     

     

     

  • 相关阅读:
    DGL学习(六): GCN实现
    DGL学习(五): DGL构建异质图
    DGL学习(四): 图分类教程
    LuoGuP2495:[SDOI2011]消耗战
    LuoGuP1121:环状最大两段子段和
    LuoGuP3177:[HAOI2015]树上染色
    LuoGuP2607:[ZJOI2008]骑士
    HDU4283:You Are the One
    LuoGuP4294:[WC2008]游览计划
    LuoGuP4127:[AHOI2009]同类分布
  • 原文地址:https://www.cnblogs.com/hesj/p/11736848.html
Copyright © 2011-2022 走看看