本文主要给大家介绍的是关于Vue.js实例方法之生命周期的相关内容,分享出来供大家参考学习,学习的朋友们下面来一起看看详细的介绍:

一、$mount()挂载方法
$mount是用来挂载扩张的。如果 Vue 实例在实例化时没有收到 el 选项,则它处于“未挂载”状态,没有关联的 DOM 元素。可以使用 vm.$mount() 手动地挂载一个未挂载的实例。
比如我们扩张了一个全局组件,通过$mount手动的挂载到DOM上,也就生成了一个Vue实例。
<div id="#app"></div>
扩张一个全局组件,并且挂载到DOM上。
//扩张全局的组件
var navBar = Vue.extend({
template: `<div>{{ title }}</div>`,
data(){
return {
title: 'Vue 扩展的全局组件'
}
},
mounted(){
console.log('挂载上了')
}
})
//使用全局扩张的组件,挂载到id为#app的DOM上(会替换#app)
var vm = new navBar().$mount('#app');
//或者
var vm = new navBar({el: "#app"})
如果没有提供 elementOrSelector 参数,模板将被渲染为文档之外的的元素,并且必须使用原生DOM API把它插入文档中。
//在文档之外渲染,并且挂载
var navbar = new navBar().$mount()
document.getElementById('app').appendChild(navbar.$el)
二、$destroy()销毁方法
作用: 完全销毁一个实例。
Vue 实例销毁后调用。调用后,Vue 实例相关的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
<div id="app"> </div> <button onclick="destroy()">销毁</button>
在组件中挂载destroyed生命周期钩子
var navBar = Vue.extend({
template: `<div>
<div>{{ title }}</div>
<h2>{{ num }}</h2>
<button @click = 'add'>add</button>
</div>`,
data(){
return {
title: 'Vue 全局扩展组件',
num: 10
}
}
destroyed(){
console.log('销毁了')
},
methods: {
add(){
this.num++
}
}
})
//使用全局扩张的组件,挂载到id为#app的元素上
var vm = new navBar().$mount('#app');
//销毁
function destroy(){
//点击按钮,销毁vm实例,控制台会输出‘销毁了',当再次点击的时候不会输出,而且点击add按钮,数量也不会改变,说明已经销毁了
vm.$destroy()
}
三、$forceUpdate()更新方法
该方法是迫使Vue实例重新渲染。注意:它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。
看代码:
<button onclick="reload()">刷新</button>
//同样的,为了看到是否重新更新了数据,即是否执行了reload方法,我们在实例中添加updated选项
updated(){
console.log('数据重新渲染了')
}
//三、更新数据方法
function reload(){
vm.$forceUpdate()
}
点击更新按钮,控制台打印出updated钩子中的输出,说明Vue实例重新渲染了。
四、$nextTick()数据修改方法
参数: {Function} [callback]
该方法是构造器data中的数据被修改后触发,相当于updated钩子函数,但还是有区别的:它是在updated钩子函数执行完之后执行其里边的回调函数。也就是将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。
methods: {
add(){
//更改数据
this.num++
this.$nextTick(function(){
console.log('DOM现在更新了')
})
}
},
updated(){
console.log('数据更新成:'+this.num)
}
通过控制台的打印结果,可以看到,当数据改变时,updated钩子早于$nextTick中的回调。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对的支持。
# vue实例生命周期
# vue实例的生命周期
# vue.js生命周期
# Vue v-bind动态绑定class实例方法
# VUE项目中加载已保存的笔记实例方法
# vue项目中引入Sass实例方法
# 用vue.js组件模拟v-model指令实例方法
# Vue+axios+WebApi+NPOI导出Excel文件实例方法
# 详解vue 实例方法和数据
# Vue常用实例方法示例梳理分析
# 回调
# 文档
# 插槽
# 的是
# 是在
# 也会
# 相关内容
# 是有
# 也就
# 上了
# 如有
# 把它
# 朋友们
# 给大家
# 如果没有
# 可以看到
# 将被
# 可以使用
# 这篇文章
# 谢谢大家
相关文章:
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何快速登录WAP自助建站平台?
建站之星备案流程有哪些注意事项?
如何通过虚拟主机空间快速建站?
如何在Golang中使用replace替换模块_指定本地或远程路径
如何通过商城自助建站源码实现零基础高效建站?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
建站之星图片链接生成指南:自助建站与智能设计教程
如何在IIS管理器中快速创建并配置网站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
制作农业网站的软件,比较好的农业网站推荐一下?
免费视频制作网站,更新又快又好的免费电影网站?
如何在新浪SAE免费搭建个人博客?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
c# 在ASP.NET Core中管理和取消后台任务
如何快速搭建高效服务器建站系统?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
已有域名能否直接搭建网站?
婚礼视频制作网站,学习*后期制作的网站有哪些?
广德云建站网站建设方案与建站流程优化指南
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
创业网站制作流程,创业网站可靠吗?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何快速打造个性化非模板自助建站?
深圳网站制作的公司有哪些,dido官方网站?
完全自定义免费建站平台:主题模板在线生成一站式服务
建站之星如何快速解决建站难题?
实例解析Array和String方法
Python文件管理规范_工程实践说明【指导】
小型网站制作HTML,*游戏网站怎么搭建?
深圳网站制作培训,深圳哪些招聘网站比较好?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
制作门户网站的参考文献在哪,小说网站怎么建立?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
家具网站制作软件,家具厂怎么跑业务?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
油猴 教程,油猴搜脚本为什么会网页无法显示?
宝塔新建站点报错如何解决?
如何用VPS主机快速搭建个人网站?
微信h5制作网站有哪些,免费微信H5页面制作工具?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
,想在网上投简历,哪几个网站比较好?
网站设计制作企业有哪些,抖音官网主页怎么设置?
建站主机SSH密钥生成步骤及常见问题解答?
*请认真填写需求信息,我们会在24小时内与您取得联系。