Heim > WeChat-Applet > Mini-Programmentwicklung > Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten

Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten

WBOY
Freigeben: 2023-01-06 16:16:00
nach vorne
3057 Leute haben es durchsucht

Dieser Artikel bringt Ihnen relevantes Wissen über das WeChat Mini-Programm, das hauptsächlich den relevanten Inhalt zum bedingten Rendering vorstellt. Das sogenannte bedingte Rendering dient dazu, zu bestimmen, ob der Code auf der Anzeigeseite gerendert werden soll . , hoffe es hilft allen.

Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten

1.wx:if implementiert bedingtes Rendering

Verwenden Sie im Framework wx:if="", um zu bestimmen, ob der Codeblock gerendert werden muss: wx:if="" 来判断是否需要渲染该代码块:

<view>True<view></view></view>
Nach dem Login kopieren

如果condition的值为true,就会在页面上渲染出view组件,否则将不会显示该组件。同时还可以结合wx:elifwx:else来使用,此时可以进行多条件的判断是否渲染该代码。

<view>组件1</view><view>组件2</view><view>组件3</view>
Nach dem Login kopieren

下面做一个演示:在js文件的data中定义一个type,同时在wxml文件中定义三个view组件,根据type的值来决定是否渲染view组件。

Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten
Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten

此时,改变type的值就可以改变页面渲染的内容。

2.block结合wx:if使用

因为 wx:if 是一个控制属性,需要将它添加到一个标签上。如果要一次性判断多个组件标签,可以使用一个 <block></block> 标签将多个组件包装起来,并在上边使用 wx:if 控制属性。

<block>
  <view> view1 </view>
  <view> view2 </view></block>
Nach dem Login kopieren

注意:不是一个组件,只是一个包裹性的容器,不会在页面上做任何渲染。

下面做一个演示:在<block></block>中包裹两个view组件,使用wx:if来决定是否需要渲染这两个组件。
Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten
Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten
此时在页面上渲染了两个view组件,block作为包裹性的容器并没有被渲染。

3.hiden实现条件渲染

在框架中,使用 hidden="" 来控制组件的显示与隐藏。与前面不同的是,hidden组件始终会被渲染,只是简单的控制显示与隐藏。

<view>当条件为true时则会隐藏该元素</view>
Nach dem Login kopieren

下面做一个演示:在js文件中定义一个flag,在wxml文件中使用hidden隐藏view组件。
Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten
Vollständiges bedingtes Rendern des Miniprogramms in zehn Minuten
可以在AppData中改变flag的值从而控制是否隐藏该view组件。

4. wx:if vs hidden

因为 wx:if 之中的模板也可能包含数据绑定,所以当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。

同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。

相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:ifrrreee

If condition wahr ist, wird die Ansichtskomponente auf der Seite gerendert, andernfalls wird die Komponente nicht angezeigt. Gleichzeitig kann es auch in Kombination mit wx:elif und wx:else verwendet werden. Zu diesem Zeitpunkt können mehrere Bedingungen verwendet werden, um zu bestimmen, ob das gerendert werden soll Code.

rrreee

Machen wir eine Demonstration: Definieren Sie einen Typ in den Daten der js-Datei und definieren Sie drei Typen in der wxml file Die Ansichtskomponente bestimmt anhand des Typwerts, ob die Ansichtskomponente gerendert werden soll. Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen🎜🎜Ändern Sie an dieser Stelle den Wert des Typs You kann den Inhalt der Seitendarstellung ändern. 🎜
🎜🎜2.block wird in Verbindung mit wx:if verwendet 🎜🎜Da wx:if ein Steuerattribut ist und zu a hinzugefügt werden muss Etikett. Wenn Sie mehrere Komponenten-Tags gleichzeitig bestimmen möchten, können Sie ein <block></block>-Tag verwenden, um mehrere Komponenten zu umschließen, und das Steuerattribut wx:if verwenden Spitze . 🎜rrreee🎜Hinweis: Es handelt sich nicht um eine Komponente, sondern nur um einen Verpackungscontainer, der keine Darstellung auf der Seite durchführt. 🎜
🎜Machen wir eine Demonstration: Verpacken Sie zwei view-Komponenten in <block></block> und verwenden Sie wx:if code> um zu entscheiden, ob diese beiden Komponenten gerendert werden müssen. <br><img src="https://img.php.cn/upload/article/000/000/067/26f15617cc5eaa265907c965be777bb7-3.png" alt="Bildbeschreibung hier einfügen"><br> <br> Zu diesem Zeitpunkt auf der Seite Zwei <code>view-Komponenten werden gerendert und block als Wrapping-Container wird nicht gerendert. 🎜
🎜
🎜3.hiden implementiert bedingtes Rendering🎜🎜Verwenden Sie im Framework hidden="", um das Anzeigen und Ausblenden von Komponenten zu steuern. Im Gegensatz zum vorherigen wird die ausgeblendete Komponente immer gerendert und ist nur ein einfaches Steuerelement zum Ein- und Ausblenden. 🎜rrreee
🎜Machen wir eine Demonstration: Definieren Sie ein Flag in der Datei js und verwenden Sie hiddenwxml /code>Ansichtskomponente ausblenden.
Bildbeschreibung hier einfügen

Kann in AppData, um zu steuern, ob die Ansichtskomponente ausgeblendet werden soll. 🎜
🎜
🎜4. wx:if vs versteckt🎜🎜Weil die Vorlage in wx:if auch Datenbindung enthalten kann, also wenn wx:if wird umgeschaltet, das Framework verfügt über einen teilweisen Rendering-Prozess, da dadurch sichergestellt wird, dass der bedingte Block beim Umschalten zerstört oder neu gerendert wird. 🎜🎜Gleichzeitig ist wx:if auch faul. Wenn die anfängliche Rendering-Bedingung falsch ist, unternimmt das Framework nichts und beginnt nur mit dem teilweisen Rendering, wenn die Bedingung zum ersten Mal wahr wird. 🎜🎜Im Vergleich dazu ist hidden viel einfacher. Die Komponente wird immer gerendert und steuert lediglich die Anzeige und das Ausblenden. 🎜🎜Im Allgemeinen hat wx:if höhere Wechselkosten und hidden höhere anfängliche Rendering-Kosten. Wenn daher ein häufiger Wechsel erforderlich ist, ist es besser, hidden zu verwenden, und wenn es unwahrscheinlich ist, dass sich die Bedingungen zur Laufzeit ändern, ist wx:if besser. 🎜🎜【Verwandte Lernempfehlungen: 🎜Mini-Programm-Lern-Tutorial🎜】🎜

Das obige ist der detaillierte Inhalt vonVollständiges bedingtes Rendern des Miniprogramms in zehn Minuten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage