Tôi muốn xóa một mục khỏi một mảng được lưu trữ trong góc 2, với Type Script. Tôi đang sử dụng một dịch vụ có tên Dịch vụ Dữ liệu, Mã Dịch vụ Dữ liệu :
export class DataService {
private data: string[] = [];
addData(msg: string) {
this.data.push(msg);
}
getData() {
return this.data;
}
deleteMsg(msg: string) {
delete [this.data.indexOf(msg)];
}
}
Và lớp thành phần của tôi:
import {Component} from '@angular/core'
import {LogService} from './log.service'
import {DataService} from './data.service'
@Component({
selector: 'tests',
template:
`
<div class="container">
<h2>Testing Component</h2>
<div class="row">
<input type="text" placeholder="log meassage" #logo>
<button class="btn btn-md btn-primary" (click)="logM(logo.value)">log</button>
<button class="btn btn-md btn-success" (click)="store(logo.value)">store</button>
<button class="btn btn-md btn-danger" (click)="send()">send</button>
<button class="btn btn-md " (click)="show()">Show Storage</button>
<button (click)="logarray()">log array</button>
</div>
<div class="col-xs-12">
<ul class="list-group">
<li *ngFor="let item of items" class="list-group-item" #ival>
{{item}}
<button class="pull-right btn btn-sm btn-warning" (click)="deleteItem(ival.value)">Delete
</button>
</li>
</ul>
</div>
<h3>{{value}}</h3>
<br>
</div>
`
})
export class TestsComponent {
items: string[] = [];
constructor(
private logService: LogService,
private dataService: DataService) {
}
logM(message: string) {
this.logService.WriteToLog(message);
}
store(message: string) {
this.dataService.addData(message);
}
send(message: string) {
}
show() {
this.items = this.dataService.getData();
}
deleteItem(message: string) {
this.dataService.deleteMsg(message);
}
logarray() {
this.logService.WriteToLog(this.items.toString());
}
}
Bây giờ, mọi thứ đang hoạt động tốt ngoại trừ khi tôi cố gắng xóa một mục. Nhật ký cho tôi thấy rằng mục vẫn nằm trong mảng và do đó vẫn được hiển thị trên trang. Làm cách nào tôi có thể xóa mục sau khi chọn bằng nút xóa ??
indexOf()
cho-1
, điều này sẽ xóa mục cuối cùng khỏi mảng khimsg
không tìm thấy!