vue1-2

<div id="app">

    <h2>姓名: {{name}}</h2>

    <h2>年龄: {{age}}</h2>

    <!-- v-on:指令用于绑定事件 -->

    <button v-on:click= "updateName">修改姓名</button>

    <button v-on:click= "updateage">修改年龄</button>

</div>

<script>

<!-- 开发版本 -->

<script src="../js/vue.js"></script>

创建一个vue对象

  let vm = new Vue({

当前vue对象操作Dom

        el: "#app",

当前vue对象管理的数据

        data: {

            name: "张三",

            age: 20

        },


(方法)

  methods:{

            //改姓名的方法

            updateName(){

                this.name="李四"

            },

              //改年龄的方法

              updateage(){

                this.age=40

              }

        },

    })

</script>


v-on:指令用于绑定事件 

  关闭生产提示

        Vue.config.productionTip = false

通过v-model指令,可以实现对数据的双向绑定,

 v-bind:用于绑定属性,通过v-bind:绑定过的属性,可以在属性值可以写表达式 

             v-on:用于绑定事件,通过v-on:绑定过的事件,可以指定Vue实例定义的方法 


  v-for指令,用于列表渲染;类型渲染时,通常都要绑定key,key的作用是提高渲染性能。

            注意:key必须是唯一,暂时可以将列表的索引作为key值去使用。 


 v-if 和 v-show 如何选择

            如果页面需要反复切换显示和隐藏,用v-show。

            如果页面中有很多模块需要隐藏,用户可能只对其中的某个模块感兴趣,用v-if,

            所有的模块首屏加载时,全部都不渲染,当用户选择指定的模块后,再渲染指定的模块。


Vue的生命周期

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>vue的生命周期</title>

</head>


<body>

    <div id='app'>

        <h2 id="name">{{name}}</h2>

        <h2 id="age">{{age}}</h2>


        <div>

            <button @click="name='李四'">改名字</button>

            <button @click="age=30">改年龄</button>

        </div>

    </div>


    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.js"></script>

    <script>


        let vm = new Vue({

            //指定挂载的容器

            el: "#app",

            //指定模板(如果有模板,vue会渲染整个模板:如果没有模板,vue会将el里面的所有内容当成模板使用)

            // template:"<div><h2>{{name}}</h2><h2>{{age}}</h2></div>",

            //数据

            data: {

                name: "张三",

                age: 20,

                list: []

            },

            methods: {

                destroy() {

                    // 调用销毁当前Vue实例的方法

                    // 注意:销毁后,当前Vue实例对象还在,只是该对象不能在重新挂载页面了

                    this.$destroy()

                }

            },

            //创建之前(数据初始化之前)

            beforeCreate() {

                console.log("---------------beforeCreate--------------");

                //这个生命周期函数,基本上不用,除非要在vue实例身上的内容

                this.__proto__.age = 200


                this.__proto__.fn = function () {

                    alert("啊哈哈")

                },


                    //vue实例,已经创建完成

                    console.log(this);

                //vue身上数据还没有初始化完成

                console.log(this.name + '' + this.age);


            },

            //创建完成(数据初始化完成)

            created() {


                console.log("-----------created ---------------");

                //这个生命周期,通常用于初始化vue管理的数据,比如:ajax请求会放在这里


                //vue实例,已经创建完成

                console.log(this);

                console.log(this.name + "" + this.age);


            },

            //挂载之前(模板已经成功渲染,但是内容没有挂载到页面中)

            beforeMount() {

                //这个生命周期函数,基本上不用

                console.log(this.$el);

                // document.querySelector("#name").innerHTML='哈'

            },

            //挂载完成(模板已经成功渲染,内容也挂载到页面中)

            mounted() {

                //这个生命周期函数,通常用于对Dom的重新改动

                console.log(this.$el);

                // document.querySelector("#name").innerHTML='哈哈哈'

            },

            //修改之前(数据已经改了,只是还没有重新挂载页面)

            beforeupdate() {

                console.log('-------beforeUpdate------------')

                console.log(this.name + "" + this.age);

                console.log(this.$el);

            },

            //修改完成(数据已经改了,并且重新挂载页面)

            updated() {

                console.log('------updated------------')

                console.log(this.name + "" + this.age);

                console.log(this.$el);

            },

            //销毁之前

            beforeDestroy() {

                console.log('-------beforeDestroy------------')

                // 这个生命周期函数,会用的多一些

                console.log(this);

                // 对数据做任何的修改,都不会重新渲染到页面

                this.name = '王五'

            },

            //销毁完成

            destroyed() {


                console.log('-------destroyed------------')

                // 这个生命周期函数,几乎不用

                console.log(this)

                this.name = '王五'

            },


        })

        setTimeout(() => {

            //通过vue实例的$Mount方法,手动挂载容器

            //通过el选项指定挂载容器,当模板渲染成功后,会离开挂载页面

            //$mount能手动控制挂载时机

            vm.$mount("#app")


        }, 1000)

    </script>

</body>


</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容