美文网首页
自定义指令

自定义指令

作者: royluck | 来源:发表于2018-05-09 10:22 被阅读0次

需求场景:
当我点击搜索栏,跳转至搜索页时,当页面加载成功之后,input标签能自动获取焦点(手机端,自动获取焦点,并弹出软键盘,但是事实上,安卓机可以实现,苹果手机不可以。)

全局注册:(在任意一个组件内申明都可以,但是我们这边建议统一在main.js声明)

Vue.directive('focus', {
    // 当被绑定的元素插入到 DOM 中时……
    inserted: function (el) {
        // 聚焦元素
        el.focus()
    }
});
Vue.directive('color', {
    // 当被绑定的元素插入到 DOM 中时……
    inserted: function (el,bind) {
        // 聚焦元素
        el.style.color = bind.value
    }
});

new Vue({
  el: '#app',  
})

局部注册:

<script>
    export default{
        data(){
            return{

            }
        },
        directives: {
            focus: {
                // 指令的定义
                inserted: function (el) {
                    el.focus()
                }
            },
            color:{
                inserted(el,bind){
                    el.style.color = bind.value
                }
            }
        }
    }
</script>

相关文章