In diesem Artikel werfen Sie einen Blick auf den Lebenszyklus im WeChat-Applet, welche Lebenszyklusfunktionen es gibt und sprechen über den Auslösezeitpunkt und seine Wirkung. Ich hoffe, dass er für alle hilfreich ist!
1. Was ist ein Lebenszyklus?
Lebenszyklus (Lebenszyklus)
bezieht sich auf die gesamte Phase eines Objekts von der Erstellung über die Ausführung bis zur Zerstörung, wobei der Schwerpunkt auf einem Zeitraum liegt (Life Cycle)
是指一个对象从 创建 -> 运行 -> 销毁 的整个阶段,强调的是一个时间段
2. 小程序的生命周期
启动
,表示 生命周期的开始
关闭
,表示 生命周期的结束
3. 小程序生命周期分类
应用生命周期 特指小程序从启动 --> 运行 --> 销毁的过程
页面生命周期 特指小程序中,每个页面的加载 --> 渲染 --> 销毁的过程
注意:页面的生命周期范围较小,应用程序的生命周期范围较大
1. 什么是生命周期函数?
小程序框架提供的内置函数,会伴随着生命周期,自动按次序执行
生命周期函数的作用:
注意:生命周期强调的是时间段,生命周期函数强调的是时间点。
2. 应用的生命周期函数
app.js
是小程序执行的入口文件,在 app.js
中必须调用 App()
函数,且只能调用一次。其中,App()
函数是用来注册并执行小程序的
App(Object)
函数接收一个 Object
参数,可以通过这个 Object
参数,指定小程序的生命周期函数
app.js
中的代码
代码如下(示例):
App({ /** * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) */ onLaunch: function () { }, /** * 当小程序启动,或从后台进入前台显示,会触发 onShow */ onShow: function (options) { }, /** * 当小程序从前台进入后台,会触发 onHide */ onHide: function () { }, /** * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 */ onError: function (msg) { } })
3. 页面的生命周期
每个小程序页面,必须拥有自己的 .js
文件,且必须调用 Page()
函数,否则报错。其中 Page()
函数用来注册小程序页面
Page(Object)
函数接收一个 Object
参数,可以通过这个 Object
参数,指定页面的生命周期函数
page.js
代码如下(示例):
//index.js //获取应用实例 const app = getApp() Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
4. 组件的全部生命周期
组件有哪些生命周期?分别是什么时候?
生命周期 | 参数 | 描述 |
---|---|---|
created | 无 | 在组件实例刚刚被创建时执行 |
attached | 无 | 在组件实例进入页面节点树时执行 |
ready | 无 | 在组件在视图层布局完成后执行 |
moved | 无 | 在组件实例被移动到节点树另一个位置时执行 |
detached | 无 | 在组件实例被从页面节点树移除时执行 |
error | Object Error | 2 |
Start
des Miniprogramms stellt den Beginn des Lebenszyklus
Abschluss< von dar das Miniprogramm< /code>, das das Ende des <code>Lebenszyklus
app.js
ist die Eintragsdatei für die Applet-Ausführung, in App()
muss in >app.js aufgerufen werden und kann nur einmal aufgerufen werden. Unter anderem wird die Funktion App()
zum Registrieren und Ausführen kleiner Programme verwendet. 🎜App(Object)
erhält einen Object< /code>-Parameter, Sie können diesen <code>Object
-Parameter verwenden, um die Lebenszyklusfunktion des Miniprogramms anzugeben🎜app.js</ code>🎜</ li></ul>🎜Der Code lautet wie folgt (Beispiel):🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">lifetimes: {
attached () {
console.log(&#39;在组件实例进入页面节点树&#39;)
},
detached () {
console.log(&#39;在组件实例被从页面节点树移除&#39;)
}
},
attached () {
console.log(&#39;~~~~~在组件实例进入页面节点树&#39;)
},
detached () {
console.log(&#39;~~~~~在组件实例被从页面节点树移除&#39;)
},
/**
* 组件的初始数据
*/
data: {
// rgb 的颜色值对象
_rgb: {
r: 0,
g: 0,
b: 0
},
// 根据 rgb 对象的三个属性,动态计算 fullColor 的值
fullColor: &#39;0, 0, 0&#39;
}</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div>🎜🎜🎜3. Seitenlebenszyklus🎜🎜🎜<ul><li>🎜Jede Miniprogrammseite muss ihr eigenes < haben code>.js< /code>-Datei und die Funktion <code>Page()
muss aufgerufen werden, andernfalls wird ein Fehler gemeldet. Unter anderem wird die Funktion Page()
verwendet, um die Seite des Miniprogramms zu registrieren🎜Page(Object)
empfängt ein Object
-Parameter: Sie können die Lebenszyklusfunktion der Seite über diesen Object
-Parameter🎜page.js
🎜Lebenszyklus | Parameter | Beschreibung | 🎜
---|---|---|
erstellt 🎜 | Keine 🎜 🎜Wird ausgeführt, wenn die Komponenteninstanz gerade erstellt wird 🎜🎜 | |
attached 🎜 | Keine 🎜🎜Wird ausgeführt, wenn die Komponenteninstanz in den Seitenknotenbaum eintritt 🎜🎜 | |
bereit🎜 | Keine 🎜🎜 in Die Komponente Wird ausgeführt, nachdem das Ansichtsebenenlayout abgeschlossen ist🎜🎜 | |
moved🎜 | Keine🎜🎜Wird ausgeführt, wenn die Komponenteninstanz an eine andere Position im Knotenbaum verschoben wird 🎜🎜 | |
freigegeben 🎜 | Keine🎜🎜Wird ausgeführt, wenn die Komponenteninstanz aus dem Seitenknotenbaum entfernt wird</ code>🎜🎜 <tr><td align="center">error🎜<td align="center"><code>Object Error 🎜🎜Wird immer dann ausgeführt, wenn eine Komponentenmethode einen Fehler auslöst🎜🎜🎜🎜5. 组件主要的生命周期函数 data在哪个生命周期中初始化完毕?
最重要的生命周期是
6. lifetimes 节点 同时以两种方式声明生命周期函数,会执行哪个? 生命周期方法可以直接定义在 lifetimes: { attached () { console.log('在组件实例进入页面节点树') }, detached () { console.log('在组件实例被从页面节点树移除') } }, attached () { console.log('~~~~~在组件实例进入页面节点树') }, detached () { console.log('~~~~~在组件实例被从页面节点树移除') }, /** * 组件的初始数据 */ data: { // rgb 的颜色值对象 _rgb: { r: 0, g: 0, b: 0 }, // 根据 rgb 对象的三个属性,动态计算 fullColor 的值 fullColor: '0, 0, 0' } Nach dem Login kopieren Nach dem Login kopieren 更多编程相关知识,请访问:编程入门!! Das obige ist der detaillierte Inhalt vonLassen Sie uns über den Lebenszyklus (Funktion) im WeChat-Applet sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Vorheriger Artikel:So konvertieren Sie die Standardstileinheit px in rpx in der Vant-Komponente des Miniprogramms
Nächster Artikel:Eine kurze Analyse verschiedener Möglichkeiten der Kommunikation zwischen Slots und Eltern-Kind-Komponenten in Miniprogrammen
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Aktuelle Ausgaben
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
|