在一个html模板中使用(点击)事件来控制单独模板Angular 2中的[hidden]元素
Using (click) event in one html template to control [hidden] element in a separate template Angular 2
我有两个TypeScript文件,在@Component中都有HTML模板。假设一个模板显示可以使用[hidden]="collapsed"
折叠或展开的信息卡。此函数存在于以下任一文件中:
public collapsed : boolean = false;
toggleCollapsed(){
this.collapsed = !this.collapsed;
}
然后在一个单独的模板中,我有一个按钮来触发这个事件
<button clear (click)="toggleCollapsed()">
<ion-icon name="expand"></ion-icon>
Expand All
</button>
基本上,按钮和信息卡位于不同的模板/文件中,但显示在视图的同一页面上。我需要帮助使按钮展开/折叠信息卡,即使它们在单独的模板中。我认为这个主题足够笼统,如果回答的话,也可以帮助其他人:)
简短示例:
<panel #panel>
<button (click)="panel.collapsed=!panel.collapsed">
创建组件引用#panel
并使用它来更改状态。
这取决于两个组件之间的关系(如果有的话)。如果存在父子关系,则可以使用输入属性或事件(取决于通信需要流向哪个方向)。
如果没有关系,请使用具有Subject的服务。一个组件将subscribe()
发送到Subject以侦听事件,另一个组件通过Subject生成事件。
组件交互食谱中有这三个方面的例子。
相关文章:
- Angular:如何使用ng选项进行四个单独的选择
- 如何在angular ui模态控制器中定义函数
- 我的Angular ui模态找不到模板
- Angular UI 模态的范围问题
- 无法访问angular ui模态对话框的模型值
- 用于关闭的ionicModal与angular ui模态事件
- 隐藏Angular Bootstrap模态而不是关闭
- Angular引导模态
- 使用Angular引导模态多重问题
- johnpapa-vm风格的angular bootstrap模态的单元测试解析
- 单元测试angular引导模态服务
- 不要在关闭时破坏Angular Bootstrap模态
- 通过Angular UI模态更新复杂模型时遇到麻烦
- Angular UI模态控制器不暴露给指令
- Angular-UI模态错误:期望的响应包含一个对象,但得到一个数组
- 使用Angular的模态窗口(UI-Router / Directive)
- 为什么Angular Material模态对话框会在span中有文本时展开?
- Angular js模态更新数据问题
- Jasmine单元测试来检查Angular Bootstrap模态的范围
- Angular单独显示和隐藏JSON对象