亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

函數未在 HTMLButtonElement.onclick Angular 4 中定義

函數未在 HTMLButtonElement.onclick Angular 4 中定義

德瑪西亞99 2023-10-10 15:05:01
我是 Angular 新手,遇到以下錯誤:“openClose 未在 HTMLButtonElement.onclick (index:13) 中定義”我搜索了所有可能的答案,但問題是錯誤出現在索引頁面中,而不是出現在任何應用程序文件中。我將在這里粘貼我的代碼,希望有人知道該怎么做。應用程序組件.html<button id="btn1" class="btn1" onclick="openClose(this, 'bg-modal')">Click me </button>    <div class="bg-modal" id="bg-modal">        <div class="modal-content">      <div class="col-12">        <div class="close" id="close">+</div>        <h2>Modal</h2>        <hr>      </div>      <div class="col-12">        <div class="contents">        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>        </div>        </div>      <div class="confirm" id="confirm">OK</div>      </div>    </div>應用程序組件.tsimport { Component } from '@angular/core';@Component({  selector: 'app-root',  templateUrl: './app.component.html',  styleUrls: ['./app.component.css',  './video-style.css']})export class AppComponent {}function openClose(btn1, bgmodal){    document.getElementById('.btn1').addEventListener('click', function(){    document.getElementById('.bg-modal').style.display='flex';    });}索引.html<!doctype html><html><head>  <meta charset="utf-8">  <title>Modal</title>  <base href="/">  <meta name="viewport" content="width=device-width, initial-scale=1"></head><body><app-root></app-root></body></html>我努力了:將 app.component.ts 中的代碼放在導出類 AppComponent {} 的括號之間在index.html中只留下將點擊代碼放入index.html 中的標簽中,然后它會出現 0 錯誤有人可以幫忙嗎?
查看完整描述

3 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

事情應該是這樣的。:

<button id="btn1" class="btn1" (click)="openClose($event, 'bg-modal')">Click me </button>

在 Component.ts 文件中。:

public openClose(event, bgmodal){
       .... rest of code 
    }

請注意:在 Angular 中不建議直接訪問 DOM 元素。

只是為了讓您的場景正常工作,添加 Stackblitz 演示:演示


查看完整回答
反對 回復 2023-10-10
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

onclickat按鈕不能調用組件的函數,必須用javascript代碼調用,例如:onclick="console.log('sss')"


如果你想調用組件的功能:


.html:


<button id="btn1" class="btn1" (click)="openClose(this, 'bg-modal')">Click me </button>

.ts:


import { Component } from '@angular/core';


@Component({

  selector: 'app-root',

  templateUrl: './app.component.html',

  styleUrls: ['./app.component.css',

  './video-style.css']

})

export class AppComponent {

    openClose(btn1, bgmodal){

        document.getElementById('.btn1').addEventListener('click', function(){

            document.getElementById('.bg-modal').style.display='flex';

        });

    }

}


查看完整回答
反對 回復 2023-10-10
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

如果您使用 Angular,您應該提及您想要使用哪個事件。如果你想使用點擊事件那么你應該這樣使用:

<button (click)="onSave()">Save</button>

因為角度沒有任何類似的事件

單擊時


查看完整回答
反對 回復 2023-10-10
  • 3 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號