标签: angular-ng-if

使用 *ngIf else 设置标题

我使用 Angular 5,弹出窗口的标题依赖于布尔值。当属性 isEditing 为 true 时,标题应为“编辑用户”。否则标题应该是“添加用户”。

它的语法是怎样的?

<dxo-popup title="edit user" .../>
Run Code Online (Sandbox Code Playgroud)

我搜索类似的东西:

感谢帮助!坦率

angular-ng-if angular

2
推荐指数
1
解决办法
5256
查看次数

*ngIf...当数据为空时,为mat-checkbox设置disabled=true

我有以下代码:

<div class="item-container">
  <mat-checkbox class="item">{{contactInfo.privateMobile}}</mat-checkbox>
</div>
Run Code Online (Sandbox Code Playgroud)

如果contactInfo.privateMobile为空,我不希望用户能够选中该复选框。

我已经尝试了以下方法:<mat-checkbox *ngIf={{contactInfo.privateMobile}} === null disabled=true" class="item">{{contactInfo.privateMobile}}</mat-checkbox>,但这不起作用或无法编译。也许我需要在 TypeScript 代码中使用一个方法?不知道该怎么做。

html angular-ng-if angular-material angular

2
推荐指数
1
解决办法
1983
查看次数

Angular 在数组中定义的特定索引上运行 *ngFor

我正在使用 *ngFor 循环,但我只希望循环在数组中定义的特定索引上运行(即indexArray = [454,640])。

如果我尝试这样做,并且 indexArray 有两个或更多元素,则它不起作用。但如果数组只有一个元素(即indexArray=[565]),它就可以工作。

<div *ngFor="let item of items; index as i">
  <table *ngIf="i == indexArray"> 
Run Code Online (Sandbox Code Playgroud)

javascript arrays angular-ng-if ngfor angular

2
推荐指数
1
解决办法
4698
查看次数

ngIf 导致错误:条件表达式需要在表达式末尾添加所有 3 个表达式

我正在尝试在表单组中写入表单控件特定的验证错误消息。我在网上找到了几个教程和示例(例如这个),概述了一个看似简单的 *ngIf div,如果在控件上检测到错误,则显示错误消息。

问题是,当我尝试这样做时,我收到这个奇怪的错误

NG5002: Parser Error: Conditional expression port?.errors?['required'] requires all 3 expressions at the end of the expression

我在此页面上还有其他几个可以正常工作的 *ngIf 条件。这是我的相关代码

                <form-field labelText="Port" [hasError]="port?.invalid && (port?.dirty || key?.touched)" [isRequired]="true">
                    <input id="port" formControlName="port" type="password">
                    <ul *ngIf="port?.invalid && (port?.touched || key?.dirty)">
                        <li *ngIf="port?.errors?['required']">Port is Required</li>
                        <li *ngIf="port?.errors?['pattern']">Invalid Port Number</li>
                    </ul>
                </form-field>

Run Code Online (Sandbox Code Playgroud)
    ngOnInit() {
        this.store.dispatch(SettingsActions.enterMaintenance());
        this.detailsForm = new FormGroup({
            id: new FormControl(''),
            name: new FormControl('', Validators.required),
            productName: new FormControl('', Validators.required),
            number: new FormControl('', Validators.required),
            isSamlAuthRequired: new FormControl(Boolean),
            iAdapterSetting: new …
Run Code Online (Sandbox Code Playgroud)

angular-ng-if angular-validation angular

2
推荐指数
1
解决办法
1022
查看次数

ng-if在ng-repeat内有多个条件不能按预期工作

除非我弄错了,否则我会遇到一些应该有效的问题.

我有一个键:值对象设置如下:

{
  key1:"val1",
  key2:"val2",
  key3:"val3",
  key4:null
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我有这个:

<div class="col-md-4" ng-repeat="(key, value) in list" ng-if="key != 'key1' || value != null">
            <ul>
                <li>{{ key }} : {{ value }} </li>
            </ul>
        </div>
Run Code Online (Sandbox Code Playgroud)

问题:如果我只使用key != 'key1'作品,则不显示key1的键和值.

如果我也只使用value != null作品,则不显示key4.

但是当我将if语句与||结合使用时 (OR),忽略整个if语句.

我在这里做错了吗?

我在这里发布了一个例子:http://jsfiddle.net/caxoyud2/

Thanx提前!

angularjs angularjs-directive angularjs-ng-repeat angular-ng-if

1
推荐指数
1
解决办法
3万
查看次数

在不调用函数的情况下更改ng-click上的范围变量

如何在不从控制器调用函数的情况下更改范围变量.

我想在editState变量等于1时显示div内容,但它不起作用.

HTML

<body data-ng-controller="profileCtrl as pctrl">

    <div data-ng-click="pctrl.editState === 1">Edit</div>

    <div data-ng-if="pctrl.editState === 1">
        .....
    </div>

</body>
Run Code Online (Sandbox Code Playgroud)

JS(在profileCtrl控制器中)

this.editState = 0;
Run Code Online (Sandbox Code Playgroud)

但是当我调用一个函数时它正在工作(我不想这样做)

<div data-ng-click="pctrl.editFn()">Edit</div>

this.editFn = function() {
     this.editState = 1;
}
Run Code Online (Sandbox Code Playgroud)

javascript operators angularjs angularjs-ng-click angular-ng-if

1
推荐指数
1
解决办法
1万
查看次数

如何在一个html标记中使用ng if else来获取条件

任何人都可以帮我解决下面的问题,目前我正在使用下面的代码来显示我使用这两个<td>标签导出条件值的值,有什么办法可以在一个<td>标签中做其他的吗?

<td class="features" ng-if="OrderStatus.length>0">
<span ng-repeat="indi in ServiceDisconnects.Service">{{indi.serviceID}}<br></span>
</td>

<td class="features" ng-if="!OrderStatus.length>0">
<span ng-repeat="indi in ServiceDisconnects.Service">{{indi.productID}}<br></span>
</td>
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ng-if

1
推荐指数
1
解决办法
1万
查看次数

离子ng-if产生错误 - 离子3

我正试图在api中实现离子应用中的产品类别.但实现相同时我得到以下错误

Error: Template parse errors:
Can't bind to 'ng-if' since it isn't a known property of 'div'."
Run Code Online (Sandbox Code Playgroud)

这是代码:

  <div class="width50" *ngFor="let object of dataList">
    <div *ng-if= "{{object?.categories[0]?.slug}} == single">
    <img src="{{object.images[0].src}}" width="150"  (click)="navigateToPage(object.id)" />
    </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

当我打印{{object?.categories[0]?.slug}}代码的值工作正常并返回单.

使用*ngif over*ng-if似乎也不起作用,它显示以下错误.

`Template parse errors:
TypeError: key[0] is undefined ("
<ion-content padding>
  <div class="width50" *ngFor="let object of dataList">
    <div [ERROR ->]*ngIf= "{{object?.categories[0]?.slug}} == single">
    <img src="{{object.images[0].src}}" width="15"): ng:///AppModule/SinglePage.html@21:9
Can't bind to '*ngIf' since it isn't a known property of 'div'. "` …
Run Code Online (Sandbox Code Playgroud)

angular-ng-if ionic3 angular

1
推荐指数
1
解决办法
6460
查看次数

使用* ngFor遍历数组,同时还过滤特定属性

在我的Angular 2应用程序中,我想知道是否有一种方法可以遍历数组,同时还可以过滤*ngFor块中的某个属性。所以语法看起来像这样:

<ng-template *ngFor="let flag['completed === false'] of service.flags">
    <span class="standard-flag" 
        [class.hold-flag]="flag?.flagType === 'hold'">Flag
    </span>
</ng-template>
Run Code Online (Sandbox Code Playgroud)

因此,基本的逻辑是,对于数组中存在的每个对象(“ flag”是一个对象),将“ completed”属性设置为“ false”,则返回该值。而不是首先遍历数组,然后使用* ngIf进行进一步过滤,如果可以同时在* ngFor块中做这件事会很好(在我的特定情况下非常有用)。可能?

我之所以对这种构造特别感兴趣,是因为我只想返回“ completed”为“ false”的第一个值,并且可以使用* ngFor中的“ let i = index”来处理它。在这种情况下阻止。但是我不想返回所有标志对象中的第一个,只是返回“ completed”属性设置为“ false”的标志对象。

javascript arrays typescript angular-ng-if angular

1
推荐指数
1
解决办法
897
查看次数

* ngIf在else块中没有切换回false

我正在使用Angular7,npm 6.4.1,节点10.15.3。

我只是在玩ngIf,这没什么用。我使用两个按钮在显示和隐藏标题之间来回切换。虽然这只是一个ngIf语句,但可以使用以下代码正常工作:

    <p>Do you want to see the last header?</p>
    <button (click)="yesHeader()">Yes please!</button>
    <button (click)="noHeader()">PLEASE G-D NO!</button>

    <h2 *ngIf="displayHeader" style="color:blue">Here it is in all its glory!</h2>
Run Code Online (Sandbox Code Playgroud)

public displayHeader=false;

  yesHeader(){
    this.displayHeader=true
  }

  noHeader(){
    this.displayHeader=false
  }
Run Code Online (Sandbox Code Playgroud)

效果很好,单击yesHeader按钮时显示标题,单击按钮时再次隐藏标题noHeader

但是,当我添加ngIf Else块时,它停止来回切换。更改内容如下:

    <p>Do you want to see the last header?</p>
    <button (click)="yesHeader()">Yes please!</button><button (click)="noHeader()">NO! NO!</button>

    <h2 *ngIf="displayHeader; else noHeader" style="color:blue">Here it is in all its glory!</h2>

    <ng-template #noHeader>
      <h5>You don't know what you're missing!</h5>
    </ng-template>
Run Code Online (Sandbox Code Playgroud)

现在,它You …

javascript angular-ng-if angular

1
推荐指数
1
解决办法
55
查看次数