我对Angular 2有疑问。 我想像这样制作List HTML:
<ul>
<li>
<li>..
</ul>
使用链接但我不知道如何在NG2中向HTML对象添加iterate参数。 这是我的代码:
<ul>
<li *ngFor="let item of geoNames | filterBy: userFilter"
(click)="showNameG= !showNameG" >
<a>{{ item.name }}</a>
</li>
</ul>
<div *ngIf="showNazwyG">
<show-NameG></show-NameG>
</div>
我想为每个要识别的元素li添加一个不同的名称。在AngularJS中有这样的工作:
(click)="showNameG{{index}}= !showNameG{{index}}"
答案 0 :(得分:4)
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(android.R.id.content , new StatusFragment());
fragmentTransaction.commit();
提供*ngFor
上下文变量
index
<强>更新强>
<li *ngFor="let item of geoNames | filterBy: userFilter; let i=index"
(click)="showNameG[i]= !showNameG[i]" ><a>{{ item.name }}</a></li>
<li *ngFor="let item of geoNames | filterBy: userFilter; let i=index"
(click)="self['showNameG'] + i = !self['showNameG']" ><a>{{ item.name }}</a></li>
答案 1 :(得分:1)
使用item
,创建一个属性showNameG
并切换其值
<li *ngFor="let item of geoNames | filterBy: userFilter" (click)="item.showNameG=!item.showNameG" ></li>
答案 2 :(得分:0)
您必须在* ngFor:
中添加以下内容let index = index;
最后你应该有这个:
<ul>
<li *ngFor="let item of geoNames | filterBy: userFilter; let index = index;" (click)="showNameG[index] = !showNameG[index]" ><a>{{ item.name }}</a></li>
</ul>
以下是* ngFor的详细说明: https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html