javascript - Angular 2 *ngIf 为 'this'

标签 javascript angular

在 Angular 2 中,我有这个 component.html:

<li *ngFor="let something of somethings">
   <span>{{something}}</span>
   <input class="doit" type="text" *ngIf="iscalled" />
<div id="container">
     <button class="btn btn-warning editsection (click)="editAction()">Edit</button>
</div>
</li>

使用这个component.ts:

editAction(){ this.iscalled = true; }

iscalled 在我的组件中默认设置为 false。

基本上,对于我生成的 somethings 中的每个 something,以及我的列表,都有一个分配给它的输入字段,以及一个运行 editAction 的按钮()。仅当用户单击 editAction() 按钮时,该按钮才会出现。

现在,按原样单击 editAction() 按钮将启用列表中的所有输入字段。我想将其限制为确切的 li 元素。

我不知道 Angular 2 是否对此有特定的操作,或者这是否是一个简单的 JavaScript 解决方案。

最佳答案

注意:使用此设置时,请勿将 iscalled默认值设置为 false

<li *ngFor="let something of somethings">
     <span>{{something}}</span>
     <input class="doit" type="text" 
            *ngIf="something.iscalled" />       //<<<===changed

     <div id="container">
          <button class="btn btn-warning 
           editsection 
           (click)="editAction(something)">     //<<<===changed
              Edit
           </button>   
     </div>
</li>
<小时/>
editAction(something){ something.iscalled = true; }

如果您想切换它,那么您可以执行以下操作,

editAction(something){ something.iscalled != something.iscalled; }

关于javascript - Angular 2 *ngIf 为 'this',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39808721/

相关文章:

css - Ionic 2 动画不适用于 iOS 设备

angular - 循环遍历 HTTP 请求的响应 Angular

Angular Observable 不实时显示值

javascript - location.hash 只在 chrome 和 safari 中生效一次

javascript - 将数据从数组排列到对象

angular - 如何从 Angular 4 的下拉列表中预选一个值

javascript - 从 HTML 表单创建 PDF?后端还是前端应该负责?

javascript - React Native Navigation Error : The action navigate with payload {"name": 192. 168.100.189:1900 0", "params":{}} 未被任何导航器处理

javascript - 如何根据knockout.js中的嵌套列表项更新 View ?

javascript - 使用 JavaScript 和克隆节点添加 Bootstrap Modal