vue生命周期是啥,有啥作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue生命周期是啥,有啥作用相关的知识,希望对你有一定的参考价值。

参考技术A 我们知道 vue 是通过构建数据驱动的web界面的渐进式框架
所谓周期就是指从一个起点到一个终点的过程,那么生命周期就是指从生命开始到生命结束的过程
从而可以理解vue生命周期就是指vue实例从创建到销毁的过程
使用vue时, 用到所有功能都是围绕vue生命周期实现的,在生命周期的不同阶段调用对应的钩子函数来实现组件数据管理和DOM渲染两大重要功能

1、 beforeCreate :这个阶段实例已经初始化,只是数据观察与事件机制尚未形成,不能获取DOM节点 (没有data,没有el)
使用场景:因为此时data和methods都拿不到,所以通常在实例以外使用
2、 created :实例已经创建,仍然不能获取DOM节点 (有data,没有el)
使用场景:模板渲染成html前调用,此时可以获取data和methods,so 可以初始化某些属性值,然后再渲染成视图,异步操作可以放在这里

1、 beforeMount :是个过渡阶段,此时依然获取不到具体的DOM节点,但是vue挂载的根节点已经创建 (有data,有el)
2、 mounted :数据和DOM都已经被渲染出来了
使用场景:模板渲染成html后调用,通常是初始化页面完成后再对数据和DOM做一些操作,需要操作DOM的方法可以放在这里

1、 beforeUpdate :检测到数据更新时,但在DOM更新前执行
2、 updated :更新结束后执行
使用场景:需要对数据更新做统一处理的;如果需要区分不同的数据更新操作可以使用$nextTick

1、 beforeDestroy :当要销毁vue实例时,在销毁前执行
2、 destroyed :销毁vue实例时执行

winform窗体的生命周期和事件加载顺序是啥?

  winform窗体的生命周期和事件加载顺序,如下:
  1.窗体启动:
  Control.HandleCreated
  Control.BindingContextChanged
  Form.Load
  Control.VisibleChanged
  Form.Activated
  Form.Shown  
  2.窗体关闭:
  Form.Closing
  Form.FormClosing
  Form.Closed
  Form.FormClosed
  Form.Deactivate  
  3.控件焦点与验证事件:
  Enter
  GotFocus
  Leave
  Validating
  Validated
  LostFocus  
  4.鼠标周期:
  Enter
  GotFocus
  LostFocus
  Leave
  Validating
  Validated
参考技术A 对于一个WinForm程序,如果是用VS自动创建的,那么程序的入口在这里

static class Program

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());



最后一句,new Form1();调用了Form1的构造函数,而Form1的构造函数的内容是:
public Form1()

InitializeComponent();

调用了InitializeComponent();,这个函数内容是:
private void InitializeComponent()

this.components = new System.ComponentModel.Container();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(59, 12);
this.label1.TabIndex = 0;
this.label1.Text = "C#_Window";
//
// button1
//
this.button1.Location = new System.Drawing.Point(205, 238);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "执行";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// notifyIcon1
//
this.notifyIcon1.Text = "notifyIcon1";
this.notifyIcon1.Visible = true;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
this.PerformLayout();



窗体的控件定义如下:
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.NotifyIcon notifyIcon1;本回答被提问者和网友采纳

以上是关于vue生命周期是啥,有啥作用的主要内容,如果未能解决你的问题,请参考以下文章

vue生命周期函数区别作用

了解 Vue 生命周期钩子

vue中的生命周期的个人理解

vue生命周期-mounted和created的区别

vue 的8个生命周期

vue中生命周期created和mouted的区别?