vue.js笔记一

140 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

    指令语法:标签属性;v-开头 
    <input v-model="message">
    插值语法:标签体;{{一个属性值}}
    <p>{{message}}</p>
  • Object.defineProperty
    Object.defineProperty( , ,{})
    可以对添加的属性设置能不能删除修改什么的
    let number = 18;
    let person = {
        name: 'zhangs',
        sex: 'nan'
    }
    Object.defineProperty(person, 'age', {
        get() {
            console.log('beizhix');
            return number;
        },
        set(value) {
            console.log('xiugai');
            number = value;
        }
    })
  • 绑定
    v-binf单向绑定
    v-model双向绑定,只能应用在表单,主要针对value 
  • 写法
el有两种写法
    el:'#root' 
    v.$mount('root') 

data两种写法
    data:{

    }
    组件写法选下面,vue管理的函数不能写箭头函数,this指向有问题
    data:function(){
        this指向vue实例
        return {

        }
    }
  • 数据代理:一个对象对另一个对象属性的操作
    const vm = new Vue({
        el:'#ap',
        data:function(){
            return {
                name:'xian'
            }
        }
    })
    vm.name = vm._data.nameget()set()

image.png

  • 方法放哪好?

    <div id="root">
        <h2>huanyin</h2>
        <button v-on:click='show'>dianw</button>
        <button v-on:click='showtwo(66,$event)'>dianw</button>
    </div>
    <script>
         let vm = new Vue({
            el:'#root',
            data:{
                //做数据代理
                name:'yellow'
            },
            // 接受vue管理的函数不要写箭头函数
            methods: {
                //不做数据代理,这属于方法,让vue轻松一点
                show(event){
                    console.log(event.target);
                    console.log(this);//指向vue实例对象
                },
                showtwo(a,b){
                    console.log(a,b);
                }
            },
        })
    </script>

数据代理就有这个,把show()放methods就无,减轻vue负担 image.png 运行结果

image.png