javascript - 如果字符串内有条件

标签 javascript jquery ionic-framework

我需要设置元素的innerhtml,但代码的某些部分是有条件的。由于我无法附加到innerHtml,所以我想添加一个条件。我对 JS 很陌生,所以我找不到一种方法来做到这一点,因为我搞乱了符号“`”。

我看到了一些附加到innerHtml的方法,但我想要一种更简洁的方法来做到这一点

    el.innerHTML = `
    <ion-avatar slot="start">
        <img src="https://www.gravatar.com/avatar/${i + originalLength}?d=monsterid&f=y">
      </ion-avatar>

    <ion-label>
    <name>${users[t].name}</name>
    <br>

        ******IF JS CONDITIONAL( IF ${users[t].lista} !="") ******    
    <ion-chip><ion-label><lista><p>Lista ${users[t].lista}</p></lista></ion-label></ion-chip>
        <br>
        ******END IF JS CONDITIONAL******

        <ion-chip outline color="primary"><ion-icon name="cash"></ion-icon><p><?php echo $product->getLabelPrice1() ?>: ${users[t].valor1} <?php echo $product->getLabelPrice2() ?>: ${users[t].valor2}</p></ion-chip>

    </ion-label>
    `;

最佳答案

一种选择是使用条件(三元)运算符,例如:

${
    foo === 1 ?                                       //Check if variable is one            
        '============= foo is 1 ============='        //If condition above is true              
    :           
        '============= foo NOT is 1 ============='    //If condition above is false
}

示例

let foo = 1;

let str = `
	Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
	Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
				
	    ${
	       foo === 1 ? 
					
	          '============= foo is 1 ============='
					
	       :
					
	          '============= foo NOT is 1 ============='
	    }
				
	Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
	Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
	`;

console.log(str);

关于javascript - 如果字符串内有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58229139/

相关文章:

javascript - 使用 Javascript 将文本字段添加到 HTML 表单时出错

javascript - 拆分逗号并忽略双引号(来自文件阅读器/加载的文件 - 使用正则表达式)

javascript - 为什么 .html 有效而不是 innerHTML 或 appendChild

ionic-framework - Ionic 2 检查互联网连接

ios - 安装phonegap-plugin-push cordova-ios 版本 >= 5 时出错

javascript - 使用随机排序顺序的 typescript 数组排序

javascript - 为什么在 jquery 中成功调用 ajax 后此函数不加载? (更新)

jQuery (document).ready() 在 jQuery 3.0 中发生了变化?

asp.net - Javascript结果生成Jquery CRUD ajax操作

javascript - setTimeout 在 try/catch 中不起作用