Vue学习1:实例及生命周期

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>Vue1</title>
  6     <meta name="viewport" content="width=device-width, initial-scale=1">
  7     <!--<link rel="stylesheet" type="text/css" href="main.css"/>-->
  8     <script src="vue.js"></script>
  9 </head>
 10 <body>
 11 <div id="test">
 12     <h1>text1:{{text1}}</h1>
 13     <h1>text2:{{text2}}</h1>
 14     <!--{{}}用于输出对象属性和函数返回值-->
 15     <h1>{{getText()}}</h1>
 16 </div>
 17
 18 <script>
 19     var data = {
 20         text1: ‘today is 9th in May‘,
 21         text2: ‘sunny‘
 22     };
 23
 24     //如果使用了Object.freeze(),那么响应系统无法追踪变化
 25     // Object.freeze(data);
 26     <!--每个vue应用(组件)都需要实例化Vue来实现-->
 27     var vm = new Vue({
 28
 29         //el参数是DOM中的id,即我们的改动只会影响到<div id="test">...</div>这个块中
 30         el: ‘#test‘,
 31
 32         //data定义属性
 33         data: data,
 34         //methods定义函数
 35         methods: {
 36             // getText:function (){
 37             //     return this.text1+‘,‘+this.text2
 38             // }
 39
 40             //这是es6对象中函数方法的写法,与上面等价
 41             getText() {
 42                 return this.text1 + ‘,,,,‘ + this.text2
 43             }
 44         },
 45         beforeCreate:function(){
 46             //undefined undefined
 47             console.log(‘---‘,this.$data,this.$el)
 48         },
 49         created(){
 50             //{__ob__: Observer} undefined
 51             console.log(‘---‘,this.$data,this.$el)
 52         },
 53         beforeMount(){
 54             //{__ob__: Observer} <div id="test">...</div>
 55             console.log(‘---‘,this.$data,this.$el)
 56         }
 57
 58
 59     })
 60
 61     //当一个Vue实例被创建时,它向Vue的响应式系统中加入了其data对象能找到的所有属性
 62     //即源数据上的值、实例上的值能够相互影响,即响应式
 63     document.write(vm.text1 === data.text1);
 64
 65     //改变data对象原先就有的属性,响应式变化
 66     document.write(‘<br>‘);
 67     vm.text1 = ‘hello text1‘;
 68     document.write(data.text1)
 69     document.write(‘<br>‘);
 70     data.text2 = ‘hello text2‘;
 71     document.write(vm.text2);
 72
 73     //注意:原先data对象没有的属性,不会响应式变化
 74     // 如果你需要设置某个属性,那么你开始时可以设置一些初始值(比如0或‘‘)
 75     document.write(‘<br>‘);
 76     vm.text3 = ‘hello text3‘;
 77     document.write(data.text3)
 78     document.write(‘<br>‘);
 79     data.text4 = ‘hello text4‘;
 80     document.write(vm.text4);
 81
 82     //vue实例有一些属性和方法,它们都有前缀$
 83     document.write(‘<br>‘);
 84     document.write(vm.$data===data);//true
 85     document.write(‘<br>‘);
 86     document.write(vm.$data===vm.data);//false
 87     console.log(vm)
 88     console.log(vm.$el)
 89     console.log(vm.$el===document.getElementById(‘test‘))
 90
 91     // 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,
 92     // 需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等
 93 //    这个时期会运行一些钩子函数,这样我们就可以在不同阶段添加自己的代码
 94
 95
 96     // beforeCreate: 组件实例刚被创建, 组件属性计算之前, 即data属性暂时无法获取
 97     // created: 组件实例创建完成, 属性已绑定, 但DOM还未生成, $el 属性还不存在
 98     // beforeMount: 模版编译/挂载之前
 99     // mounted: 模版编译/挂载之后(不保证组件已在document中)
100     // beforeUpdate: 组件更新之前
101     // updated: 组件更新之后
102     // beforeDestory: 组件销毁前调用
103     // destory: 组件销毁后调用
104
105 </script>
106 </body>
107 </html>

运行结果截图:

参考:vue官网https://www.jianshu.com/p/733cc3a041eehttp://www.runoob.com/vue2/vue-start.html

原文地址:https://www.cnblogs.com/why-not-try/p/9015384.html

时间: 2024-10-02 09:36:22

Vue学习1:实例及生命周期的相关文章

vue学习(1)生命周期

生命周期的概念: 什么是生命周期: Vue实例有一个完整的生命周期,这个生命周期指的是Vue实例从开始创建,初始化数据,编译模板,挂载Dom,渲染-更新-渲染,卸载等一系列的过程,我们称这是vue的生命周期, 也就是说:vue实例的生命周期是从实力创建到销毁的过程,在生命周期中,提供了一系列的函数,这些函数应用到vue生命周期的不同阶段,我们称之为生命周期钩子,生命周期钩子用来在生命周期的不同阶段来调用不同的函数 生命周期图示:

Vue学习系列(四)——理解生命周期和钩子

前言 在上一篇中,我们对平时进行vue开发中遇到的常用指令进行归类说明讲解,大概已经学会了怎么去实现数据绑定,以及实现动态的实现数据展示功能,运用指令,可以更好更快的进行开发.而在这一篇中,我们将通过实例,探究vue的生命周期. 万物皆有灵,世间万物都拥有灵魂,小到山河湖海,花草树木,蚂蚁到人类,以及所有的动植物,大到地球星空和宇宙,都拥有灵魂,可以说他们都是有生命的,只是他们的生命形态是我们人类所不能理解的存在.在生产中,生命周期通俗来讲,就是从自然中来回到自然中去的全过程,也就是从采集材料设

前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)

一.Vue的实例 1.1.创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的: var vm = new Vue({ // 选项 }) 虽然没有完全遵循 MVVM 模型,Vue 的设计无疑受到了它的启发.因此在文档中经常会使用 vm (ViewModel 的简称) 这个变量名表示 Vue 实例. 1.vue.js就是一个构造器,通过构造器Vue来实例化一个对象:例如:var vm = new Vue({});2.实例化Vue时,需要传入一个参数(选

聊一聊Vue实例与生命周期运行机制

Vue的实例是Vue框架的入口,担任MVVM中的ViewModel角色,所有功能的实现都是围绕其生命周期进行的,在生命周期的不同阶段调用对应的钩子函数可以实现组件数据管理和DOM渲染两大重要功能.例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 DOM .在这个过程中,事件钩子可以辅助我们对整个实例生成.编译.挂载.销毁等过程进行js控制,给我们提供了执行自定义逻辑的机会.所以学习实例的生命周期,能帮助我们理解vue实例的运行机制,更

从零开始学 Web 之 Vue.js(三)Vue实例的生命周期

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.vue实例的生

Vue.js 1.x 和 2.x 实例的生命周期

在Vue.js中,在实例化Vue之前,它们都是以HTML的文本形式存在文本编辑器中.当实例化后将经历创建.编译.销毁三个主要阶段. 以下是Vue.js 1.x  实例的生命周期图示: Vue.js 1.x 的生命周期钩子 1. init  在实例开始初始化时同步调用.此时数据观测.事件和Watcher都尚未初始化. 2. created 在实例化创建之后同步调用.此时实例已经结束解析选项,已建立:数据绑定.计算属性.方法.Watcher/事件回调,但是还没有开始DOM编译,$el还不存在. 3.

vue个人学习(四)----生命周期

生命周期: beforeCreate          组件实例刚刚被创建,属性都没有 created                  实例已经创建完成,属性已经绑定 beforeMount          模板编译之前 mounted               模板编译之后,代替之前ready * beforeUpdate        组件更新之前 updated               组件更新完毕 * beforeDestroy      组件销毁前 destroyed    

关于Vue实例的生命周期(2)

 关于Vue实例的生命周期(2) 创建(create)->挂载(mount)->更新(update)->销毁(destory) 钩子函数触发事件 beforeCreate 在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用. created 实例已经创建完成之后被调用.在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调.然而,挂载阶段还没开始,$el 属性目

vue2.0-vue实例的生命周期

Vue把整个生命周期划分为创建.挂载.更新.销毁等阶段,每个阶段都会给一些"钩子"让我们来做一些我们想实现的动作.学习实例的生命周期,能帮助我们理解vue实例的运作机制,更好地合理利用各个钩子来完成我们的业务代码. 先看一下官网的生命周期图例: 如果觉的太复杂,那我们就从简单的开始学起. 这就是生命周期的8个阶段,其中我们将用到最多的钩子就是:created(成功创建)阶段. 下面我们就一 一来学习各个生命阶段: 1. beforeCreate(创建之前) 此阶段为实例初始化之后,此时

osgi实战学习之路:5.生命周期及利用命令、装饰者模式实现基于socket交互Bundle命令demo

生命周期中关键3个类: BundleActivator 入口点,类似main方法 BundleContext Bundle上下文对象,在运行期间,为应用程序提供操作osgi框架的方法 Bundle 代表一个已安装的Bundle 接口说明: BundleActivator: public interface BundleActivator { public void start(BundleContext context) throws Exception; public void stop(Bu