Skip to content

Commit b5a91cc

Browse files
committed
don't make signals for labels
1 parent 4621d32 commit b5a91cc

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

frameworks/keyed/angular-cf-signals/src/app/app.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ <h1>Angular Signals keyed</h1>
3333
<tr [class.danger]="item.id === selected()">
3434
<td class="col-md-1">{{item.id}}</td>
3535
<td class="col-md-4">
36-
<a href="#" (click)="selected.set(item.id)">{{item.label()}}</a>
36+
<a href="#" (click)="selected.set(item.id)">{{item.label}}</a>
3737
</td>
3838
<td class="col-md-1"><a href="#" (click)="delete(item.id)"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a></td>
3939
<td class="col-md-6"></td>

frameworks/keyed/angular-cf-signals/src/app/app.component.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ const nouns = [
5959

6060
interface Data {
6161
id: number;
62-
label: WritableSignal<string>;
62+
label: string;
6363
}
6464

6565
@Component({
@@ -82,11 +82,9 @@ export class AppComponent {
8282
for (let i = 0; i < count; i++) {
8383
data[i] = {
8484
id: this.id++,
85-
label: signal<string>(
86-
`${adjectives[this.#random(adjectives.length)]} ${
87-
colours[this.#random(colours.length)]
88-
} ${nouns[this.#random(nouns.length)]}`,
89-
),
85+
label: `${adjectives[this.#random(adjectives.length)]} ${
86+
colours[this.#random(colours.length)]
87+
} ${nouns[this.#random(nouns.length)]}`,
9088
};
9189
}
9290
return data;
@@ -103,13 +101,17 @@ export class AppComponent {
103101
}
104102

105103
add() {
106-
this.data.update(data=>[...data, ...this.buildData(1000)]);
104+
this.data.update((data) => [...data, ...this.buildData(1000)]);
107105
}
108106

109107
update() {
110-
for (let i = 0, d = this.data(), len = d.length; i < len; i += 10) {
111-
d[i].label.update((l) => l + " !!!");
112-
}
108+
this.data.update((data) => {
109+
for (let i = 0; i < data.length; i += 10) {
110+
const item = data[i];
111+
data[i] = { ...item, label: item.label + " !!!" };
112+
}
113+
return data;
114+
});
113115
}
114116

115117
clear() {
@@ -132,9 +134,9 @@ export class AppComponent {
132134
}
133135

134136
delete(id: number) {
135-
this.data.update(d => {
136-
const idx = d.findIndex(d => d.id === id);
137+
this.data.update((d) => {
138+
const idx = d.findIndex((d) => d.id === id);
137139
return [...d.slice(0, idx), ...d.slice(idx + 1)];
138-
})
140+
});
139141
}
140142
}

0 commit comments

Comments
 (0)