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

riot.js apprentissage [4] Attributs booléens d'expression

黄舟
Libérer: 2017-01-16 16:08:42
original
1306 Les gens l'ont consulté

Expression

Dans riot.js, les balises html peuvent utiliser des expressions plus puissantes pour définir des valeurs.
Les expressions peuvent être utilisées dans innerText, les attributs et sont une syntaxe JavaScript 100 % originale.

Donnez-moi quelques petits exemples :

<h3 id={ /* 属性表达式 */ }>
    { /*这里可以写表达式*/ }</h3>
Copier après la connexion

Les méthodes d'utilisation sont également assez riches :

{ title || &#39;da宗熊&#39; }
{ isReady ? &#39;ready&#39; : &#39;loading&#39; }
{ new Date() }
{ this.getName() }
{ Math.round(10) }
{ message.length > 100 && &#39;消息太长了~&#39; }
Copier après la connexion

Les expressions de riot.js peuvent rendre votre html le plus possible possible Soigné et efficace.

Bien sûr, si votre expression est trop complexe, vous pouvez envisager de placer le calcul dans l'événement de mise à jour, ou d'utiliser une méthode de calcul distincte.

 <todo>
        <!-- value的计算很复杂 -->
        <p>{ value }</p>
        <p>{ this.getText(this.text) }</p>

        // 计算复杂的表达式
        this.on("update", function(){
            var d = new Date();
            this.value = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
        });
        this.text = "da宗熊";

        // getText方法,会依赖于this对象下
        getText(text){
            return "你好" + text;
        }    </todo>
Copier après la connexion

Le résultat est le suivant :

riot.js apprentissage [4] Attributs booléens dexpression

Attributs booléens

Les attributs tels que vérifié, sélectionné, etc., sont utilisés dans roit.js Appelé une propriété booléenne.

Si la valeur d'expression de l'attribut booléen est fausse, l'attribut sera ignoré :

<!-- 普通属性 -->
<input name={ false } >
<!-- Boolean属性 -->
<input checked={ null } >
Copier après la connexion

sera généré :

<input name="false" ><input >
Copier après la connexion

Comme indiqué dans le W3C spécification , tant que l'attribut booléen existe, il doit être vrai, même si sa valeur est fausse, il est toujours vrai.
Pour faire simple, même si l'on définit vérifié=false, l'effet final affiché par le navigateur est toujours vérifié.

Compte tenu de cela, roit.js a optimisé l'attribut booléen lors de sa génération. S'il s'agit d'un attribut booléen et que son expression satisfait aux conditions :

{ value == false }
Copier après la connexion

will Cette propriété booléenne est non généré.

Les débutants rencontrent des pièges

Paramètres de propriété

<input value={ name } { isCheck ? &#39;checked&#39; : &#39;&#39; } />
Copier après la connexion

Ces paramètres sont interdits, et le code généré sera comme ceci :

<input {="" true="" ?="" &#39;checked&#39;="" :="" &#39;&#39;="" }="">
Copier après la connexion

Il ça veut dire que je ne comprends pas du tout. Y a-t-il quelque chose qui ne va pas ?

Guillemets doubles

<input name={ "da宗熊" } >
Copier après la connexion

Cela semble normal, y a-t-il quelque chose qui ne va pas ?

Mais le code résultat est :

<input da宗熊"="" }"="" name="{ ">
Copier après la connexion

Encore une fois, riot.js en veut aux guillemets doubles ! ! ! ! [Dans la plupart des cas]


Ce qui précède est le contenu de l'apprentissage de riot.js [4] Attributs booléens d'expression Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois. (www.php.cn) !


É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