vue.js中created方法作用


Posted in Javascript onMarch 30, 2018

这是它的一个生命周期钩子函数,就是一个vue实例被生成后调用这个函数。一个vue实例被生成后还要绑定到某个html元素上,之后还要进行编译,然后再插入到document中。每一个阶段都会有一个钩子函数,方便开发者在不同阶段处理不同逻辑。

一般可以在created函数中调用ajax获取页面初始化所需的数据。

实例生命周期

每个 Vue 实例在被创建之前都要经过一系列的初始化过程。例如,实例需要配置数据观测(data observer)、编译模版、挂载实例到 DOM ,然后在数据变化时更新 DOM 。在这个过程中,实例也会调用一些 生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会。例如,created 这个钩子在实例被创建之后被调用:

var vm = new Vue({
data: {
a: 1
},
created: function () {
// `this` 指向 vm 实例
console.log('a is: ' + this.a)
}
})
// -> "a is: 1"

也有一些其它的钩子,在实例生命周期的不同阶段调用,如 mounted、 updated 、destroyed 。钩子的 this 指向调用它的 Vue 实例。一些用户可能会问 Vue.js 是否有“控制器”的概念?答案是,没有。组件的自定义逻辑可以分布在这些钩子中。

生命周期图示

下图说明了实例的生命周期。你不需要立马弄明白所有的东西,不过以后它会有帮助。

vue.js中created方法作用

补充:

Vue生命周期中mounted和created的区别

一、什么是生命周期?

用通俗的语言来说,就是Vue中实例或者组件从创建到消灭中间经过的一系列过程。虽然不太严谨,但是也基本上可以理解。

通过一系列实践,现在把所有遇到的问题整理一遍,今天记录一下created和mounted的区别:

二、created和mounted区别?

官方图解如下:

vue.js中created方法作用

我们从图中看两个节点:

created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。

mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。

其实两者比较好理解,通常created使用的次数多,而mounted通常是在一些插件的使用或者组件的使用中进行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID);通常会有这一步,而如果你写入组件中,你会发现在created中无法对chart进行一些初始化配置,一定要等这个html渲染完后才可以进行,那么mounted就是不二之选。下面看一个例子(用组件)。

三、例子

<span style="font-size: 14px;">Vue.component("demo1",{ 
  data:function(){ 
   return { 
    name:"", 
    age:"", 
    city:"" 
   } 
  }, 
  template:"<ul><li id='name'>{{name}}</li><li>{{age}}</li><li>{{city}}</li></ul>", 
  created:function(){ 
   this.name="唐浩益" 
   this.age = "12" 
   this.city ="杭州" 
   var x = document.getElementById("name")//第一个命令台错误 
   console.log(x.innerHTML); 
  }, 
  mounted:function(){ 
   var x = document.getElementById("name")/</span>/第二个命令台输出的结果<span style="font-size: 14px;"> 
   console.log(x.innerHTML); 
  } 
 }); 
 var vm = new Vue({ 
  el:"#example1" 
 })</span>

可以看到输出如下:

vue.js中created方法作用

可以看到都在created赋予初始值的情况下成功渲染出来了。

但是同时看console台如下:

vue.js中created方法作用

可以看到第一个报了错,实际是因为找不到id,getElementById(ID) 并没有找到元素,原因如下:

在created的时候,视图中的html并没有渲染出来,所以此时如果直接去操作html的dom节点,一定找不到相关的元素

而在mounted中,由于此时html已经渲染出来了,所以可以直接操作dom节点,故输出了结果“唐浩益”。

以上就是我自己总结的mounted和mounted的区别,写的比较简陋,记录下来,加深印象。

总结

以上所述是小编给大家介绍的vue.js中created方法作用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
Jan 30 Javascript
jQuery 常见操作实现方式和常用函数方法总结
May 06 Javascript
JS实现简单的Canvas画图实例
Jul 04 Javascript
js兼容的placeholder属性详解
Aug 18 Javascript
extjs中form与grid交互数据(record)的方法
Aug 29 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
Jan 21 Javascript
写一个Vue Popup组件
Feb 25 Javascript
webpack 最佳配置指北(推荐)
Jan 07 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 #Javascript
json对象及数组键值的深度大小写转换问题详解
Mar 30 #Javascript
Vue实现导出excel表格功能
Mar 30 #Javascript
理解 JavaScript EventEmitter
Mar 29 #Javascript
JavaScript EventEmitter 背后的秘密 完整版
Mar 29 #Javascript
vue的diff算法知识点总结
Mar 29 #Javascript
vue文件树组件使用详解
Mar 29 #Javascript
You might like
php设计模式 Proxy (代理模式)
2011/06/26 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
laravel 5.4中实现无限级分类的方法示例
2017/07/27 PHP
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
python事件驱动event实现详解
2018/11/21 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
考试作弊被抓检讨书
2014/01/10 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
入党积极分子考察意见
2015/06/02 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
卫生主题班会
2015/08/14 职场文书