角度 2:根据条件切换布尔值
Angular 2 : Toggle Boolean based on a condition
我有一个搜索栏,我想在输入值长度为 2 或更长时显示所有过滤的名称。
我设法将value.length
从输入字段中移出。现在我被困住了。起初我做了:
if (value.length >= 2){
showNames: true;
}
默认showNames
为假。当长度为 2 或更大时,它设置为 true。所以,这是有效的。只有当用户擦除文本,因此 value.length 再次低于 2 时,布尔值才会再次变为 false。我试过其他,但我知道这在 Angular 2 中是不正确的。
<ion-searchbar (ionInput)="getNames($event)"></ion-searchbar>
<ion-list *ngIf="showNames">
<ion-item *ngFor="let name of names">
{{ name }}
</ion-item>
</ion-list>
我知道我可以通过单击按钮来切换布尔值,但我只想从值的长度切换它。
*ngIf="value.length >= 2"
也不起作用,因为我在打字稿中创建了变量"值"。所以在我的 HTML 中没有定义它。而且我不想使用大公式来计算长度,这就是我创建一个变量的原因。
我怎么能
- 将变量"值"从我的打字稿传递到我的 HTML,以便我可以使用
*ngIf="value.length > 2"
? - 或者在我的打字稿中做某种 If/Else,这样我就可以在我的 HTML 中使用像
*ngIf="showNames"
这样的布尔值?
您可以像这样绑定到搜索栏的模型:
<ion-searchbar [(ngModel)]="searchValue" (ionInput)="getNames($event)"></ion-searchbar>
<ion-list *ngIf="searchValue.length >= 2">
<ion-item *ngFor="let name of names">
{{ name }}
</ion-item>
</ion-list>
并在您的组件中定义这样一个变量:
export class ComponentA {
searchValue: string = "";
// ...
}
你可以
showNames
一个函数并旨在做*ngIf="showNames()"
,或者如果它很短,请在那里执行检查:*ngIf="value.length >= 2"
相关文章:
- 如何从javascript/jquery中的复选框中获取布尔值
- KendoUI网格行过滤器,带有布尔值下拉列表
- php布尔值's小写AND大写和数字布尔值'可以接受
- select中布尔值的Angularjs ng值不起作用
- 由于布尔值的变化,Django视图中的字符串格式不正确
- MeteorJs Alded autoform,如何从布尔值复选框中获得所需值
- 值条件未按预期工作
- 将字符串动态转换为布尔值
- 将布尔值存储在隐藏字段中以进行表单处理
- Coffeescript:添加一个由布尔值控制的条件类名
- 聚合物 如何使用条件根据函数返回的布尔值显示不同的元素
- IF 条件下的布尔值导致 JavaScript 中的错误
- 如何根据 Mongo 中集合中的布尔值有条件地查询密钥
- 在默认条件下检查布尔值
- 为什么 null 未在条件语句中转换为布尔值
- 如何在JavaScript中的IF语句中使用具有布尔值的变量作为条件
- 我希望我的Ember.js条件在切换布尔值时加载不同的模板
- 将布尔值从 rails 控制器传递到 javascript 以用于条件
- 角度 2:根据条件切换布尔值
- JavaScript:非布尔值的条件(三进制)与布尔OR