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自动生成表格的东西
Dec 21 Javascript
收藏Javascript中常用的55个经典技巧
Aug 12 Javascript
Lazy Load 延迟加载图片的 jQuery 插件
Feb 06 Javascript
jQuery控制图片的hover效果(smartRollover.js)
Mar 18 Javascript
js获取某月的最后一天日期的简单实例
Jun 22 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
Feb 10 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
Nov 16 Javascript
js 获取今天以及过去日期
Apr 11 Javascript
vue使用vue-cli快速创建工程
Jul 28 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
Oct 13 Javascript
打通前后端构建一个Vue+Express的开发环境
Jul 17 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
Oct 09 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
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
Python的动态重新封装的教程
2015/04/11 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
Python 统计字数的思路详解
2018/05/08 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
JPA面试常见问题
2016/11/14 面试题
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
在职研究生自我鉴定
2013/10/16 职场文书
手机被没收检讨书
2014/02/22 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
求职信怎么写
2014/05/23 职场文书
物流管理系毕业生求职信
2014/06/03 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
Vue+Flask实现图片传输功能
2022/04/01 Vue.js
Python进程池与进程锁之语法学习
2022/04/11 Python