如果字符串以 E 和 A 开头,我想用数据显示不同的 Div,然后从数据中删除前两个字母

Posted

技术标签:

【中文标题】如果字符串以 E 和 A 开头,我想用数据显示不同的 Div,然后从数据中删除前两个字母【英文标题】:I want to show different Divs with data if the string starts with E and A and then delete first two letters from data 【发布时间】:2019-01-03 23:15:51 【问题描述】:

我有来自 Angular API 的数据。

 $scope.alert = alertMessage;

如果警报消息以 E 开头。我想显示 div 1

<div class= "alert 1">
<p>alert</p>
</div>

如果警报消息以 A 开头,我想显示 div 2

<div class= "alert 2">
<p>alert</p>
</div>

我还想修剪警报消息中的前两个字符。

任何人都可以帮助我解决这个问题。

【问题讨论】:

【参考方案1】:

//If the Alert message starts with E. i want to show div 1
<div class="alert 1" ng-if="alert[0] === 'E'"><!-- show if the first character is E -->
  <p>alert.slice(2)</p><!-- remove the first two characters -->
</div>

【讨论】:

【参考方案2】:

ng-show 通过添加 CSS display: none 样式来切换元素的外观。另一方面,ng-if 实际上在条件为假时从 DOM 中删除元素,并且仅在条件变为真时才将元素添加回来。只取决于您的要求是什么,但您基本上可以使用其中任何一个。

$scope.alert = alertMessage.slice(2);
<div class= "alert 1" ng-show="alert.indexOf('E') == 0"><p>alert</p>
</div>   
<div class= "alert 2" ng-show="alert.indexOf('A') == 0">
  <p>alert</p>
</div>   

【讨论】:

如果 'E' 或 'A' 出现在被切掉的前两个字符中,则此解决方案将过早进行切片。目前还不清楚这个问题。 您应该在 javascript 值比较中使用 3 个等号。 @ssc-hrep3 indexOf 只返回数字,所以这里不是什么大问题。 @Taplar 我同意这个问题还不清楚。我不确定他是否想在修剪之前或之后评估 E 和 A。 ¯_(ツ)_/¯【参考方案3】:

我已经将 ng-if 用于两个 div,就像 taplar 所说的那样。 如果删除 2 个字符,我使用 alert.substring(2)

这行得通。 谢谢大家帮助。

【讨论】:

以上是关于如果字符串以 E 和 A 开头,我想用数据显示不同的 Div,然后从数据中删除前两个字母的主要内容,如果未能解决你的问题,请参考以下文章

mysql 数据库中已经有汉字了 我想用模糊查询 按照首字母把 数据内容调出来 使用啥语句啊?

如何检查单词是不是以给定字符开头?

Python 从键盘输入5个英文单词,输出以元音字母开头的单词?

linux命令行大全第四章[通配符的使用]

内插数据以协调来自链路不同侧面的读数的算法?

php里怎么判断字段里是不是以1开头的字段?