मैं एक वेब ऐप विकसित करने के लिए कोणीय 6 का उपयोग कर रहा हूं। मेरे ऐप में एक user-information घटक, एक results घटक, एक api सेवा और एक data सेवा शामिल है। विचार यह है कि उपयोगकर्ता एक टेक्स्ट बॉक्स में एक ईमेल पता दर्ज करता है और एक बटन दबाता है। उस बटन प्रेस पर मैं उपयोगकर्ता सूचना घटक में ईमेल को संसाधित करता हूं और उन्हें सरणी में डालता हूं और फिर मैं परिणाम घटक से एक फ़ंक्शन को कॉल करता हूं जो एपीआई सेवा में एपीआई कॉल करने के लिए उस सरणी का उपयोग करता है और फिर उसकी सदस्यता लेता है तथ्य। मुझे अंततः अपने परिणाम मिलते हैं, और अब मैं उन परिणामों को data सेवा में स्थित डेटा का उपयोग करके /results पथ पर प्रस्तुत करना चाहता हूं।

परिणाम प्राप्त करने के लिए मेरे सभी प्रसंस्करण के बाद मैंने कोशिश की

this.router.navigate(['/results'])

लेकिन यह काम नहीं करेगा। मुझे यकीन नहीं है कि इसे ठीक से कैसे किया जाए। मैं रूटिंग ट्यूटोरियल के माध्यम से चला गया हूं, लेकिन मैं अभी भी इस बात को लेकर भ्रमित हूं कि इस पूरी चीज को काम करने के लिए मुझे क्या शामिल करना है।

मेरे परिणाम घटक जो कुछ ऐसा दिखता है:

@Component(
{
    selector: 'app-results',
    templateUrl: './results.component.html',
    styleUrls: ['./results.component.css'],
    providers: [ApiService, DataService]
})
export class ResultsComponent implements OnInit
{
    constructor(private _apiService: ApiService, private router: Router, private _dataService: DataService)
    {
        this.userResults = this._dataService.getData();
    }
displayedColumns: string[] = ['User Email', 'Result'];
userResults = [];
employeeCheck(user: string)
    {
        console.log('Completing employee check')

        if (this)
        { 
            this.userResults.push({
                key: user,
                value:  this.messages[3];
            });
            this.createTable();
        }
        else if (this)
        { //Check that NGP exists and is valid
            this.userResults.push({
                key: user,
                value:  this.messages[4];
            });
            this.createTable();
        }
        else if (this)
        { 
            this.userResults.push({
                key: user,
                value:  this.messages[6]
            });
            this.createTable();
        }

        else if (this)
        { 
            this.userResults.push({
                key: user,
                value:  this.messages[5]
            });
            this.createTable();
        }
        else
        { //Don't know what else to do
            this.userResults.push({
                key: user,
                value:  this.messages[7]
            });
            console.log(this.userResults[0].key)
            this._dataService.saveResults(this.userResults);
            this.createTable();
        }
//console.log(this.userResults);

    }


    userCheck(user: string)
    {
        console.log('Checking ', user, ' information.');

        if (this)
        {
            this.userResults.push({
                key: user,
                value:  this.messages[0]
            });
            this.createTable();
        }
        else if (this)
        {
            this.userResults.push({
                key: user,
                value:  this.messages[1]
            });
            this.createTable();
        }
        else if (this)
        {
            this.userResults.push({
                key: user,
                value:  this.messages[2];
            });
            this.createTable();
        }
        else
        {
            this.employeeCheck(user);
        }
    }
createTable()
    {
        console.log(this.userResults)
        console.log('going to results')
        this.router.navigate(['/results'])      
    }

मेरी सेवा की तरह दिखता है:

import { Injectable } from '@angular/core';
import { Observable, Subject, throwError} from 'rxjs';

@Injectable({ providedIn: "root" })
export class DataService {
    private results: any[];
    constructor() { }

    saveResults(someArray){
        console.log('saving results')
        this.results = someArray
        console.log(this.results)
    }
}

मेरे app.module.ts . से

const appRoutes: Routes = [
 {path: "", redirectTo: "", pathMatch: "full"},
 {path: "", component: UserInformationComponent },
 {path: "results", component: ResultsComponent }
];

मैं अपने परिणाम समापन बिंदु /results पर प्रदर्शित करना चाहता हूं

1
newwebdev22 25 जून 2019, 23:18

1 उत्तर

सबसे बढ़िया उत्तर

यह विकृत मार्ग विन्यास प्रतीत होता है। इसे अजमाएं।

const appRoutes: Routes = [
 {path: "", component: UserInformationComponent, pathMatch: "full"},
 {path: "results", component: ResultsComponent }
];
1
Ashokan Sivapragasam 26 जून 2019, 12:28