javascript - 使用 Angular 具有动态模型名称的可点击分区
问题描述
我需要创建可点击的动态 div。目前我正在使用下面的代码来做到这一点。我的服务
export class ReserveService {
constructor(private http: HttpClient) { }
getLockers(): Observable<Lockers[]> {
return this.http.get<Lockers[]>('https://jsonplaceholder.typicode.com/albums');
}
}
组件代码
ngOnInit() {
this.loadLockers();
}
loadLockers() {
this.availableLockers = this.reserveService.getLockers();
}
请检查上面的代码。我正在使用下面的 html 来循环它
<a *ngFor="let locker of availableLockers | async" class="col-md-3 p-3 m-3 success"
contenteditable="true" style="border: 1px solid #ccc; background-color: brown;">
<label>
<input id="lk{{locker.id}}" [value]='locker.id' type="radio" name="locker"
checked="false" [(ngModel)]="locker.id">
{{locker.title}}
</label>
</a>
目前一切正常。但事情是当我单击 div 时,没有选中单选按钮。我怎么做?或者你知道这些时间要求的任何适当的技术。
解决方案
除了使用标签,您可以使用 div 标签并执行以下操作 -
<div *ngFor="let locker of availableLockers | async; let index = index" class="col-md-3 p-3 m-3 success"
contenteditable="true" style="border: 1px solid #ccc; background-color: brown;" (click)="currentSelection = index">
<label>
<input [value]='locker.id' type="radio" name="locker"
[checked]="getCurrentSelection(index)">
{{locker.title}}
</label>
</div>
在组件 Ts 文件中 =>
currentSelection :number
getCurrentSelection=(indexSelected)=>{
return currentSelection == indexSelected
}
推荐阅读
- java - Android Studio 3.5.3 为项目生成了一些损坏的 java 类
- android - 如何在recyclerview中一次加载所有项目?
- c - 尝试更改字符串中的值时,C 中的 EXC_BAD_ACCESS (code=2)
- php - Laravel,如果未登录,如何重定向到不同的登录页面
- matlab - 如何从 MATLAB 脚本初始化 Simulink 模型的常量?
- javascript - 防止默认值在我的代码中不起作用
- python - 查找要从字典中删除的用户数据的方法?
- react-native - 带有抽屉导航器的底部选项卡导航器 React Native
- graphql - GQL 方案接受相同键的多个数据结构
- python - NameError:类名未定义,尽管已导入