Vue第二篇:创建实例

1、新建实例

引入vue.js之后就会生成一个全局变量Vue(),通过new Vue()的方式可以获得一个vue应用对象

<script src="vue.js" type="text/javascript" charset="UTF-8"></script>
  • 新建实例
        <div id="app">
        <!-- 变量声明 -->
         {{title}}
          {{ message }} {{name}}
        </div>
        
        <script type="text/javascript">
        var app = new Vue({
            //引入vue.js之后就会生成一个全局变量Vue(),通过new Vue()的方式可以获得一个vue应用对象
          el: '#app',//el 表示元素,这里就表示app为id 的元素
          data: {//data 用于保存数据
            message: 'Hello Vue!',
            name:'vue',
            title:'第一个应用'
          }
        });
        </script>

2、 数据与方法

对变量a进行修改,可以采用
data1.a="helle ... new..."
vm.a="helle ... new..."
vm.$data.a="test..."

        <div id="firstdate">
            {{a}}
        </div>
        
        <script type="text/javascript">
        var data1={a:1};
        var vm= new Vue({
            el:"#firstdate",
            data:data1
        });

还可以使用watch方法跟踪变量的变化,记录变化前后的最新值和原来值
watch 方法一定要写在修改变量值之前

        vm.$watch('a',function(newVal,oldVal){
            console.log(newVal,oldVal);
        })
        
        vm.$data.a="test..."

3、生命周期

每个Vue实例在被创建时,都要经过一系列的初始化过程,比如设置数据监听、编译模板,将实例挂载到DOM并在数据变化时更新DOM等。在这个过程中Vue允许我们运行一些叫做生命周期钩子的函数,这样我们就可以在不同阶段添加自己的代码。
生命周期钩子需要写在新建new Vue()中,以属性的方式声明。
在Vue运行的每个阶段会自动的调用这些生命周期钩子。
在生命周期的函数中,不能使用this箭头函数
beforecreate create .....

var vm = new Vue({
    el : "#app",
    data : {
        msg : "hi vue",
    },
    在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
    beforeCreate:function(){
        console.log('beforeCreate');
    },
    在实例创建完成后被立即调用。
    在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。
    然而,挂载阶段还没开始,$el 属性目前不可见。 
    created :function(){
        console.log('created');
    },
    在挂载开始之前被调用:相关的渲染函数首次被调用
    beforeMount : function(){
        console.log('beforeMount');

    },
    el 被新创建的 vm.$el 替换, 挂在成功    
    mounted : function(){
        console.log('mounted');
    
    },
    数据更新时调用
    beforeUpdate : function(){
        console.log('beforeUpdate');
            
    },
    组件 DOM 已经更新, 组件更新完毕 
    updated : function(){
        console.log('updated');
            
    }
});
setTimeout(function(){
    vm.msg = "change ......";
}, 3000);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 创建vue实例instance 回顾上一篇,我们找到了学习vue的起点——core/instance/index文...
    Rocky_Wong阅读 970评论 0 4
  • Day71:[手写代码]实现Promise.all方法 Day72:有效括号算法题 Day73:写出执行结果,并解...
    倒带人生617阅读 742评论 0 2
  • Vue生命周期函数 Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新...
    小王加油阅读 1,301评论 0 1
  • Vue基础: 谈谈对组件的理解组件化开发能大幅提高应用开发效率、测试性、复用性常用的组件化技术:属性、自定义事件、...
    Ltraveller阅读 579评论 0 2
  • 最近一直在忙,近期一个月更加会马不停蹄,根本无时间经营自己的小博客,有很多简友留言和评论要资料,我也没时间发,等我...
    范小饭_阅读 4,071评论 4 20