<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自定义指令</title>
    <script type="text/javascript" src="../vue.js"></script>
</head>
<body>
<div id="root">
    <h2>当前的n值是:<span v-text="n"></span></h2>
    <h2>放大10倍的n值是:<span v-big="n"></span></h2>
    <button @click="n++">n+1</button>
    <hr/>
    <input type="text" v-fbind:value="n" >
</div>
<script type="text/javascript">
    Vue.config.productionTip = false  // 组织开发环境提示

    // 创建Vue实例
    const x = new Vue({
        el: '#root',
        data: {
            n: 1,
        },
        directives: {
            // big函数何时会被调用?1.指令与元素成功绑定时;2.指令所在模板被重新解析时
            big(element, binding) {
                element.innerText = binding.value * 10
            },
            fbind: {
                // 绑定时调用
                bind(element, binding){
                    element.value = binding.value
                },
                // 渲染时调用
                inserted(element, binding){
                    element.focus()
                },
                // 重新渲染时调用
                update(element, binding){
                    element.value = binding.value
                    element.focus()
                }
            }
        }
    })
</script>

</body>
</html>