Angular 未收到角度8单击事件
发出事件的方法工作正常,但订阅的方法不会激发。这是相关的代码-很抱歉包含了这么多,但我觉得这对于上下文是必要的;关键行是带有双星号的行,因为粗体在代码块内不起作用: app.component.htmlAngular 未收到角度8单击事件,angular,Angular,发出事件的方法工作正常,但订阅的方法不会激发。这是相关的代码-很抱歉包含了这么多,但我觉得这对于上下文是必要的;关键行是带有双星号的行,因为粗体在代码块内不起作用: app.component.html header.component.ts 导入{ 组成部分 输出 EventEmitter}来自“@angular/core”; 导出枚举事件源{ 食谱, 购物清单 } @组成部分({ 选择器:“应用程序标题”, templateUrl:“./header.compon
-
header.component.ts
导入{
组成部分
输出
EventEmitter}来自“@angular/core”;
导出枚举事件源{
食谱,
购物清单
}
@组成部分({
选择器:“应用程序标题”,
templateUrl:“./header.component.html”
})
出口类标题组件{
崩溃=真;
@输出()
menuFired=neweventemitter();
onClickRecipes=(事件:事件)=>{
**console.log(“这是有效的”)**
event.preventDefault();
this.menuFired.emit(EventSource.Recipes);
}
onClickShoppingList=(事件:事件)=>{
**console.log(“这是有效的”)**
event.preventDefault();
this.menuFired.emit(EventSource.ShoppingList);
}
}
这几天来我一直在想这个,我就是想不出来。看起来应该能用。我在其他地方也有类似的设置,效果很好
未收到角度8单击事件
(点击)怎么样
请找到
所以我想出来了。这与代码本身无关,而是与我在app.module.ts中所做的事情有关。在@NgModule->bootstrap中,出于某种原因,我加入了HeaderComponent。我不记得为什么我会把它放在那里,但很明显,这是在某种程度上抑制事件。感谢每一个试图帮助你的人;如果我没有看到它在stackblitz上工作,我永远不会想到检查app.module。这段代码都能按照您的意愿工作。其他方面出了问题,或者您没有看到实际的错误。日志语句是否没有显示?控制台中是否有其他错误?@bryan60没有,日志语句在all@c_ogoo不,没有在stackblitz上创建任何其他错误,日志将被触发:@bryan60正在标题组件中跟踪单击。我希望应用程序组件从标头接收自定义事件,以便获得正确的事件数据。
onMenuFired
在其应用程序标头组件中定义的自定义事件。他已经实现了点击。我不这么认为,因为我正在听应用程序标题组件中的menuFired。设置IsRecipeSelected()和isShoppingListSelected()读取的属性。它必须是一个*ngIf,因此可见性会根据该属性发生变化。@MikeCaputo使用stackblitz链接更新了我的答案。@MikeCaputo告诉我,如果它不适用于您?它适用于stackblitz,但您改变了什么?我不知道。在AppModule的下面一行添加了这个,其他的都是您的编码。模式:[自定义元素模式]你能接受我的答案吗?如果它(stackblitz示例)对您有帮助?
<app-header
(click)="onMenuFired($event)"
></app-header>