首页 文章

TypeScript中的共享按钮组件,但事件对所有页面都不可见(Angular 4)

提问于
浏览
1

在Angular 5中有共享按钮组件,由两个页面使用 . 第1页和第2页 . 但是click事件仅对page1可见 . 不知道我在这里缺少什么 . 下面显示的是组件层次结构的完整结构 .

Index.html
   App.html
      page1.html
            btn.html
      page2.html  
            btn.html

btn.html组件对于page1和page2是常见的 . 问题是btn.component.ts的按钮点击事件仅在page1.html上执行 . page2.html不知道这个事件 .

我创建了这个plunker代码来显示我的问题 .

https://plnkr.co/edit/Ry5Uj2VHzVK0RfaJcXyZ?p=info

请帮帮我 . 我该如何解决这个问题?或者我在这里做错了什么 . 谢谢 .

1 回答

  • 1

    可能是click事件仅针对该组件的第一个实例进行绑定 . 所以你可以尝试这个:

    在btn-shared组件html中:

    <div>
      <label>This is test button</label>
      <input type="button" id="Testbtn" value="Click me" (click)="FunctionOnClick()"> 
    </div>
    

    在btn-shared组件ts中:

    import { Component } from '@angular/core';
    
    @Component({
      selector: 'btn-shared',
      templateUrl: 'src/shared/btn.component.html'
    })
    export class btnComponent {
    
    public FunctionOnClick(){
      alert("Clicked ");
    }
    
    }
    

相关问题