首页 > 解决方案 > 类型上不存在属性,并且参数隐式具有任何类型

问题描述

我不断收到此错误,我试图在 tsconfig.json 中输入 "noImplicitAny": false 并且它不起作用,并且在'类型上不存在属性'上我到目前为止还没有尝试过任何东西。

任何帮助都会很棒。

//HTML component
//Input for text
<input
class="chatInput"
[(ngModel)]="message"
(keydown)="handleSubmit($event)"
/>

//Button on click send messege
<button class="chatButton" (click)=send()>Send</button>
//Imports for chat
import { Component, OnInit } from '@angular/core';
import { ChatService } from '../services/chat.service';

@Component({
  selector: 'app-chat-form',
  templateUrl: './chat-form.component.html',
  styleUrls: ['./chat-form.component.css']
})
export class ChatFormComponent implements OnInit {
//Message to string
  message!: string;
  
//Private chat
  constructor(private chat: ChatService) { }

  ngOnInit(): void {
  }

//Its giving me an error property does not exist on "sendMesage"
  send(){
    this.chat.sendMessage(this.message);
  }

//When pressed on enter send message
//I get an error: parameter "event" implicitly has an 'any' type
  handSubmit(event){
    if(event.keyCode === 13){
      this.send();
    }
  }

}
//Chat service Ts is empty, do I need to pass something here or ?
import { Injectable } from '@angular/core';
@Injectable({
  providedIn: 'root'
})
export class ChatService {

  constructor() { }
}

标签: javascripthtmlangulartypescriptfirebase

解决方案


ChatService如果您尝试访问其中的类方法,则不能为空。它应该有方法sendMessage

import { Injectable } from '@angular/core';
@Injectable({
  providedIn: 'root'
})

export class ChatService {
  constructor() { }
  
  sendMessage() {
    // Message Logic
  }
}

推荐阅读