У меня есть некоторые данные, которыми я манипулирую в таблицу, используя l oop. Здесь данные будут поступать один за другим, как мы используем в websocket. Я использую websocket в своем проекте для этого, чтобы заполнить данные, которые приходят один за другим. Данные должны быть заполнены в таблицу один за другим, как это происходит случайным образом. Здесь мне нужно держать данные и pu sh один за другим, или они будут автоматически произвольно перемещаться в таблицу. Если мне нужно держать или pu sh, как это сделать, может кто-нибудь, пожалуйста, помогите мне. Вот пример кода. https://stackblitz.com/edit/angular-eqlxkd?file=src%2Fapp%2Fapp.component.ts
home.component. html
<table border="1" cellspacing="2">
<tr *ngFor = "let x of mySocketData">
<td>{{x.id}}</td>
<td>{{x.name}}</td>
</tr>
</table>
home.component.ts
import { Component, OnInit } from '@angular/core';
import { CommonserviceService } from './../utilities/services/commonservice.service';
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
import {NgbModal, ModalDismissReasons} from '@ng-bootstrap/ng-bootstrap';
import * as Stomp from 'stompjs';
import * as SockJS from 'sockjs-client';
declare var $: any;
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
imageSource :any;
statusdata: any;
closeResult: string;
registerForm: FormGroup;
submitted = false;
webSocketEndPoint: string = 'http://localhost:8080/ws';
topic: string = "/topic/greetings";
stompClient: any;
mySocketData:any;
constructor(private modalService: NgbModal,private formBuilder: FormBuilder) {}
ngOnInit() {
console.log("Initialize WebSocket Connection");
let ws = new SockJS(this.webSocketEndPoint);
this.stompClient = Stomp.over(ws);
const _this = this;
_this.stompClient.connect({}, function (frame) {
_this.stompClient.subscribe(_this.topic, function (sdkEvent) {
this.mySocketData = sdkEvent;
console.log(this.mySocketData);//[{"id":1,"name":"cat"},{"id":2,"name":"arctichare"},{"id":3,"name":"baboon"}]
});
//_this.stompClient.reconnect_delay = 2000;
});
}
}
пакет. json
{
"name": "sampleproject",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~8.2.8",
"@angular/common": "~8.2.8",
"@angular/compiler": "~8.2.8",
"@angular/core": "~8.2.8",
"@angular/forms": "~8.2.8",
"@angular/http": "^7.2.15",
"@angular/platform-browser": "~8.2.8",
"@angular/platform-browser-dynamic": "~8.2.8",
"@angular/router": "~8.2.8",
"@ng-bootstrap/ng-bootstrap": "^5.2.2",
"bootstrap": "^4.4.1",
"jquery": "^3.4.1",
"mysql": "^2.18.1",
"net": "^1.0.2",
"rxjs": "~6.4.0",
"rxjs-compat": "^6.5.3",
"sockjs-client": "^1.4.0",
"stompjs": "^2.3.3",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.803.6",
"@angular/cli": "~8.3.6",
"@angular/compiler-cli": "~8.2.8",
"@angular/language-service": "~8.2.8",
"@types/node": "~8.9.4",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"codelyzer": "^5.0.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.5.3"
}
}
index. html
<script>
var global = window; // fix global is undefined in socketjs-client
</script>