$scope.edit = function(index) {
$scope.active = index;
};
ng-disabled="$index !== active"
Смотрел в документации angular material, но не нашёл такой функции. Это странно, потому что такая функция скорее всего есть в любой подобной таблице.
<span (click)="item.showTags = !item.showTags">Теги:</span>
<div *ngIf="item.showTags">
chartObj: Chart;
this.chartObj = new Chart(reportCtx, ...
this.chartObj.data.datasets
this.chartObj.update();
ng-repeat="obj in this.objects | filter: this.searchText as filtered"
ng-if="!filtered.length"
this.getPictures()
должно быть что-то вродеthis.collections.splice(this.collection.findIndex(n => n.id === picId), 1)
updatePost(title: string, url: string, id:number): void { const update: Picture[] = this.collection.map((p)=>{ p.id = id; p.title = title; p.url = url }); }
Object.assign(this.collection.find(n => n.id === id), { title, url });
editPost(picId: Picture[]): void { this.edData = picId; }
<button (click)="updatePost(titleEd.value, urlEd.value, edData.id);
removePost(picId: number) {
this.remove.emit(picId);
}
removePost(picId: number) {
this.collection = this.collection.filter(p => p.id !== picId);
}
То есть если пользователь кликнул три раза по первой кнопке, то дочерний компонент значение "4" вывел только один раз.
formData = [];
updateFormData(newLen) {
const oldLen = this.formData.length;
if (oldLen > newLen) {
this.formData.splice(newLen, oldLen);
} else if (oldLen < newLen) {
this.formData.push(...Array.from({ length: newLen - oldLen }, n => ({
/* здесь дефолтные данные блока */
})));
}
}
<input
type="number"
[ngModel]="formData.length"
(ngModelChange)="updateFormData($event)"
>
<div *ngFor="let item of formData;">
<!-- здесь создаёте input'ы, цепляете к ним через [(ngModel)] свойства item'а -->
</div>
есть пример локализации, но он по структуре элементов не похож на мой пример поэтому у меня не получается им воспользоваться