Maison > interface Web > js tutoriel > le corps du texte

Concernant la sortie d'Omi v1.0.2, il prend officiellement en charge l'analyse de code pour passer les expressions javascript

黄舟
Libérer: 2017-03-21 14:15:36
original
1419 Les gens l'ont consulté

Cet article présente principalement la version officielle d'Omi v1.0.2 qui prend en charge le passage des javascriptexpressions, qui est très bonne et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer.

est écrit devant

Le framework Omi peut transmettre des attributs aux nœuds enfants en déclarant data-* sur le composant.

Omi a été conçu pour s'aligner dès le début sur la méthode de livraison standard des balises DOM standard. Par exemple :

  • Le trait de soulignement est automatiquement converti en casse chameau, et lorsque l'index de la page de données est transmis au sous-composant, il devient this.data.pageIndex

  • data- xx est transmis aux nœuds enfants et tous deviennent des chaînes. Par exemple, data-page-index="1" dans le nœud enfant, this.data.pageIndex est la chaîne "1".

Ceci sera Quels sont les limites et les problèmes ? Par exemple :

  • Impossible de transmettre JSON

  • Impossible de transmettre le type de numéro

  • Impossible de transmettre le type booléen

Ensuite, la prise en charge des expressions javascript peut résoudre ces problèmes.

Sans plus tarder, jetons un coup d’œil au côlon de l’artefact.

Marque deux-points

Regardez l'exemple suivant :

import Hello from 'hello.js'
Omi.makeHTML('Hello', Hello);
class App extends Omi.Component {
 render() {
 return `
 <p>
 <Hello :data-user="{ name : &#39;Dntzhang&#39;, favorite : &#39;Omi&#39; }" />
 </p>
 `
 }
}
Omi.render(new App(),"#container")
Copier après la connexion

Ajouter un deux-points devant data-user , c'est-à-dire : data -user signifie que l'expression js est transmise, ce qui est assez pratique.

Ensuite, il peut être utilisé directement dans le composant Hello.

class Hello extends Omi.Component {
 render() {
 return `
 <p>
 <h1>{{user.name}} love {{user.favorite}}.</h1>
 </p>
 `
 }
}
Copier après la connexion

Vous pouvez également essayer d'imprimer this.data.user dans le composant hello.

Passer d'autres types

L'exemple ci-dessus montre le passage de JSON, d'autres types sont également pris en charge. Par exemple :

<Hello :data-age="18" />
 <Hello :data-xxx="1+1*2/3" />
 <Hello :data-is-girl="false" />
 <Hello :data-array-test="[1,2,3]" />
Copier après la connexion

Type complexe

Enfin, laissez-moi vous montrer un cas un peu plus compliqué :

class Hello extends Omi.Component {
 handleClick(evt){
 alert( this.data.arrayTest[0].name)
 }
 render() {
 return `
 <ul>
 {{#arrayTest}}
 <li onclick="handleClick">{{name}}</li>
 {{/arrayTest}}
 </ul>
 `;
 }
}
Omi.makeHTML(&#39;Hello&#39;, Hello);
class App extends Omi.Component {
 render() {
 return `
 <p>
 <Hello :data-array-test="[{name:&#39;dntzhang&#39;},{name:&#39;omi&#39;},{name:&#39;AlloyTeam&#39;}]" />
 </p>
 `;
 }
}
Omi.render(new App(),"#container");
Copier après la connexion

Bien sûr, dans les sous-composants, vous pouvez également parcourir en utilisant la posture ES6 au lieu d'utiliser la syntaxe moustache.js moteur de modèles .

class Hello extends Omi.Component {
 render() {
 return `
 <ul>
 ${this.data.arrayTest.map(item =>
 `<li>${item.name}</li>`
 ).join(&#39;&#39;)}
 </ul>
 `;
 }
}
Copier après la connexion

C'est pourquoi omi propose deux versions, omi.js et omi.lite.js. omi.lite.js n'inclut pas le moteur de modèles moustache.js.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!