Vorwortuni-app ist eine neue Generation von Cross-End-Frameworks, die von DCloud produziert werden. Es kann als eines der Frameworks mit der größten Anzahl an Cross-Ends bezeichnet werden. Es unterstützt derzeit die Veröffentlichung in: App (Android/iOS), H5, Mini-Programmen (WeChat Mini-Programme/Alipay Mini-Programme/Baidu Mini-Programme/ByteDance Mini-Programme). Ähnliche Frameworks auf dem Markt sind: Taro (produziert von JD.com) und Megalo (produziert von NetEase). Die meisten von weex unterstützten Dinge werden auch in nvue unterstützt. Daher werden wir hier die zugehörigen Komponenten und API-Aufrufe von weex nicht im Detail beschreiben, sondern nur einige kleinere Probleme beschreiben, die im eigentlichen Entwicklungsprozess aufgetreten sind. Hallo WeltBeginnen Sie mit der Erstellung Ihrer ersten NVUE-Seite. Verzeichnisstruktur: Der index.nvue-Code lautet wie folgt: <Vorlage> <div> <text>{{text}}</text> </div> </Vorlage> <Skript> Standard exportieren { Daten() { zurückkehren { Text: „Hallo Welt“ } } } </Skript> Daher können bei der Ausführung auf einem realen Computer die folgenden Fehler auftreten: Der Grund für dieses Problem ist, dass im Uni-App-Projekt eine Vue-Seite vorhanden sein muss. Es gibt kein Problem, wenn Sie eine neue Vue-Seite erstellen und sie erneut ausführen. Bild Rahmenradius festlegenIn nvue können Sie den Rahmenradius für Bilder nicht festlegen. Wenn Sie ein rechteckiges Muster in einen Kreis ändern möchten, müssen Sie ein Div um das Bild legen. Der Code lautet wie folgt: <div Stil="Breite: 400px;Höhe: 400px;Randradius: 400px;Überlauf: ausgeblendet;"> <Bildstil="Breite: 400px;Höhe: 400px;" src="https://img-cdn-qiniu.dcloud.net.cn/uniapp/images/[email protected]"></Bild> </div> Echte Pixel einstellenIn der Weex-Spezifikation gibt es nur eine Längeneinheit: px. Die Gesamtbildschirmbreite beträgt 750px. Nach dem Einstellen der Länge berechnet die Weex-Engine die tatsächliche Länge dynamisch basierend auf der Breite des Mobiltelefonbildschirms, ähnlich wie bei upx von uni-app. Im tatsächlichen Entwicklungsprozess möchten Sie jedoch möglicherweise keine solche dynamische Längeneinheit. In diesem Fall können Sie eine Längeneinheit in der Weex 1.x-Version verwenden: wx. Diese Einheit ist die eigentliche Pixeleinheit. Obwohl sie im Weex-Dokument nicht erwähnt wird, ist sie immer noch verfügbar. Natürlich wird sie mit dem Update von Weex möglicherweise nicht mehr von WX unterstützt. Externes CSS importierenDie in App.vue geschriebenen allgemeinen Stile sind in nvue nicht wirksam. Wenn mehrere nvue gemeinsame Stile verwenden möchten, muss externes CSS eingeführt werden. Aufgrund der Einschränkung von Weex können Sie @import "xxx.css" nicht verwenden, um externes CSS in den Stilknoten zu importieren. Sie müssen die folgende Methode zum Importieren von CSS verwenden: <style src="@/common/test.css"></style> <Stil> .prüfen { Farbe: #E96900; } </Stil> Es ist zu beachten, dass das Schreiben von Stilen in den Knoten <style src="@/common/test.css"></style> nicht effektiv ist. TTF-Schriftdatei verwendenIn nvue oder weex können Sie Schriftdateien nicht direkt in CSS über @font-face importieren. Sie müssen das DOM-Modul in JS verwenden, um Schriftdateien zu importieren. Bitte beachten Sie die weex-Dokumentation: const domModule = weex.requireModule('dom'); domModule.addRule('fontFace', { 'Schriftfamilie': "iconfont2", 'Quelle': "url('http://at.alicdn.com/t/font_1469606063_76593.ttf')" }); vue übergibt Parameter beim Öffnen von nvueDa vue beim Öffnen von nvue keine Parameter nach der URL übertragen kann, besteht die einzige Möglichkeit zum Übergeben von Parametern in der Verwendung von Speicher. Öffnen Sie nvue auf der Vue-Seite uni.setStorageSync('test', 'hallo'); uni.navigateTo({ url:"/Seiten/nvue/nvue" }) Holen Sie sich die Parameter auf der nvue-Seite. Beim Aufrufen der Uni-App-API in Create dauert es einige Zeit, bis der Aufruf erfolgreich ist (die neueste Version des Uni-App-Frameworks hat dieses Problem behoben und kann ohne Verzögerung erfolgreich aufrufen). <Skript> Standard exportieren { erstellt() { console.log("nvue erstellt!"); setzeTimeout(() => { uni.getStorage({ Schlüssel: 'Test', Erfolg: (res) => { console.log("Holen Sie sich die von der vorherigen Seite übergebenen Daten" + res.data) } }) },200) } } </Skript> Nachahmung des WeChat Moments-EffektsWährend der Entwicklung gibt es eine Seite, die denselben Effekt wie WeChat Moments erzielen muss: Die Gesamtliste ist von oben nach unten angeordnet, jede Liste ist in zwei Spalten unterteilt, mit Benutzeravataren auf der linken Seite und Nachrichteninhalten auf der rechten. Bei der Entwicklung denkt man als Erstes daran, „flex-direction: row;“ für das übergeordnete Element zu verwenden, um den Avatar und den Inhalt jeweils links und rechts anzuzeigen. Es gibt jedoch ein Problem. Die Höhe des Inhaltsbereichs kann nicht entsprechend der Länge des Textes erweitert werden. Wenn das übergeordnete Element die Top-Down-Ausrichtung verwendet, kann die Höhe des Inhaltsbereichs durch den Text erweitert werden. Der Code, in dem das Problem auftritt, lautet wie folgt: <Vorlage> <div Stil="Hintergrundfarbe: #ccc;"> <div Klasse="Artikel"> <div Klasse="headImg"></div> <div Klasse="rgtBox"> <text>Der Inhalt lässt sich bei Anordnung nach oben und unten strecken, der Inhalt lässt sich bei Anordnung nach oben und unten strecken, der Inhalt lässt sich bei Anordnung nach oben und unten strecken, der Inhalt lässt sich bei Anordnung nach oben und unten strecken, der Inhalt lässt sich bei Anordnung nach oben und unten strecken, der Inhalt lässt sich bei Anordnung nach oben und unten strecken, der Inhalt lässt sich bei Anordnung nach oben und unten strecken, der Inhalt lässt sich bei Anordnung nach oben und unten strecken, der Inhalt lässt sich bei Anordnung nach oben und unten strecken. </text> </div> </div> <div Klasse = "Elemente" Stil = "flex-direction: Zeile;"> <div Klasse="headImg"></div> <div Klasse="rgtBox" Stil="flex: 1;"> <text>Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken. Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken. Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken. Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken. Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken. Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken. Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken. Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken. Bei einer Anordnung links und rechts lässt sich der Inhalt nicht strecken.</text> </div> </div> </div> </Vorlage> <Skript> Standard exportieren { } </Skript> <Stil> .Artikel { Hintergrundfarbe: #fff; Rand unten: 50px; } .headImg { Breite: 100px; Höhe: 100px; Hintergrundfarbe: #555; } .rgtBox { Hintergrundfarbe: #fff; } </Stil> Bei diesem Problem handelt es sich vermutlich um einen Fehler in Weex. Nachdem die Höhe des linken Elements festgelegt wurde, ist die maximale Höhe des rechten Elements die Höhe des linken Elements, wenn die Höhe des rechten Elements nicht festgelegt ist. Die Lösung besteht darin, den Avatar und den Inhalt nach oben und unten anzuordnen und dann den linken Rand, den oberen Rand und die Mindesthöhe des Inhaltsbereichs festzulegen, um einen ähnlichen Effekt zu erzielen. Der Code lautet wie folgt: <Vorlage> <div style="Hintergrundfarbe: #ccc;flex-direction: Spalte;"> <div Klasse="Artikel"> <div Klasse="headImg"></div> <div Klasse="rgtBox"> <text>Ein kurzer Text, ein kurzer Text</text> </div> </div> <div Klasse="Artikel"> <div Klasse="headImg"></div> <div Klasse="rgtBox"> <text>Hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text, hier ist ein langer Text</text> </div> </div> </div> </Vorlage> <Skript> Standard exportieren {} </Skript> <Stil> .Artikel { Hintergrundfarbe: #fff; Rand unten: 50px; } .headImg { Breite: 100px; Höhe: 100px; Hintergrundfarbe: #555; } .rgtBox { Breite: 600px; Mindesthöhe: 100px; Rand links: 130px; Rand oben: -100px; Hintergrundfarbe: #fff; } </Stil> Oben finden Sie eine detaillierte Analyse der Fallstricke bei UniApp-Einstiegs-NVUE. Weitere Informationen zu den Fallstricken bei UniApp-Einstiegs-NVUE finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: So konfigurieren Sie inländische Quellen in CentOS8 yum/dnf
>>: CentOS 8 Installationshandbuch für Zabbix 4.4
Im Vorstellungsgespräch sollten Sie folgende Szen...
In diesem Artikelbeispiel wird der spezifische Co...
1. Was ist die HTML-Auszeichnungssprache? HTML is...
Inhaltsverzeichnis 1. Projektbeschreibung 1.1 Hin...
1. Installationspaket MySQL-Dienst-Downloadadress...
Dieser Artikel veranschaulicht anhand von Beispie...
Vorwort Dieser Artikel stellt hauptsächlich die L...
Da für den Import benutzerdefinierter Ubuntu-Imag...
HTML-Formulare werden verwendet, um verschiedene ...
Während der Projektentwicklung bin ich gestern auf...
Zusammenfassung: MySQL bietet eine Vielzahl von S...
Inhaltsverzeichnis 1. Problemszenario 2. Ursachen...
Inhaltsverzeichnis 1. Laden Sie die WeChat-Entwic...
Vorwort Im realen Geschäftsleben ist Paging eine ...
Vuex ist ein speziell für Vue.js-Anwendungen entw...