मैं कोणीय बुनियादी बातों के साथ एक वेब एप्लिकेशन बना रहा हूं, लेकिन जब मैंने इसे चलाने की कोशिश की, तो मुझे यह कहते हुए एक त्रुटि मिली कि 'अपेक्षित 0 तर्क, लेकिन 1 मिला।' ये रहा मेरा इवेंट-details.component.ts फाइल

import { Component } from '@angular/core'
import { EventService} from '../shared/event.service'
import { ActivatedRoute } from '@angular/router'

@Component({
templateUrl: './event-details.component.html',
styles: [`
    .container { padding-left: 20px; padding-right: 20px }
    .event-image { height: 100px; }
`]
})
export class EventDetailsComponent {
event:any

constructor(private eventService:EventService, private route:ActivatedRoute) {

}
ngOnInit() {
    /** The error is here */
    this.event = this.eventService.getEvents(+this.route.snapshot.params['id']) 
}

}

और ये रही मेरी event.service.ts फाइल

import { Injectable } from '@angular/core'

@Injectable()
export class EventService {
    getEvents() {
        return EVENTS
    }

getEvenr(id:number) {
  return EVENTS.find(event => event.id === id)
  }
}
const EVENTS = [
{
    id: 1,
    name: 'Angular Connect',
    date: '9/26/2036',
    time: '10:00 am',
    price: 599.99,
    imageUrl: '/assets/images/angularconnect-shield.png',
    location: {
        address: '1057 DT',
        city: 'London',
        country: 'England'
    }
]
0
user14464799 15 मार्च 2021, 19:40
क्या आप EventService के लिए कोड साझा कर सकते हैं? ऐसा लगता है कि जब आप एक की अपेक्षा नहीं कर रहे हैं तो आप getEvents विधि को पैरामीटर पास कर रहे हैं।
 – 
tcrite
15 मार्च 2021, 19:51
आप getEvents() विधि को कॉल कर रहे हैं लेकिन कुछ कारणों से आप एक तर्क this.eventService.getEvents(+this.route.snapshot.params['id']) पारित करने का प्रयास कर रहे हैं। यह विधि किसी भी तर्क को स्वीकार नहीं करती है। हो सकता है कि आप इसके बजाय getEvenr(id) विधि को कॉल करना चाहें?
 – 
Dmitry S.
15 मार्च 2021, 20:24

1 उत्तर

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

EventService की getEvents विधि को तर्क प्राप्त नहीं करना चाहिए।

getEvents() {
  return EVENTS;
}

हालाँकि, आप इसे तर्क के साथ कहते हैं

this.event = this.eventService.getEvents(+this.route.snapshot.params['id']);

या तो इसे बिना तर्क के कहें

this.event = this.eventService.getEvents();

या किसी तर्क को स्वीकार करने और उसका उपयोग करने के लिए getEvents() विधि बदलें।

0
Philipp Meissner 16 मार्च 2021, 11:56