我有一个消息服务,用于在各个组件之间进行交互。我只想在单击Mine按钮时触发一条消息。到目前为止这有效。但是当我单击<和>按钮时,它会触发getMessage(),以便将值相加。但当我单击 时,我只想发送一个值Mine。仅最后一个值。getMessage()单击<和时如何防止触发>?
当我点击 时<,>它会在卡片之间从 1 切换到 10。当我点击时,Mine它应该只获取我所在的卡片并将信息从该块发送到另一个组件。但相反,当我单击<或 时>,getMessage()会被调用,它会添加所有卡片,直到我单击Mine。我该如何防止这种情况发生?
下面是一些代码。我试图保持紧凑:
消息服务.ts:
@Injectable({ providedIn: 'root' })
export class MessageService {
private subject = new Subject<any>();
sendMessage(message: string) {
this.subject.next({ text: message });
}
getMessage(): Observable<any> {
console.log('Get Message Message Service');
return this.subject.asObservable();
}
Run Code Online (Sandbox Code Playgroud)
矿工卡.组件:
message: any;
subscription: Subscription;
constructor(private ref: ChangeDetectorRef, private …Run Code Online (Sandbox Code Playgroud) 我的应用程序使用网格布局。在左下角的网格中,我使用的是 Material Cards。卡片具有动态内容,这意味着卡片的高度不同。如何设置卡片的最大高度,以便它们不会在屏幕末尾被切断?由于卡片具有动态内容,我如何使卡片可滚动?
我正在尝试获取列表的一个组成部分。该列表位于数组中。如何获取列表中的某一特定组成部分?在本例中,我试图获取 hierarchialGraph.links 的“source”元素。
代码:数组的打字稿(只是一个片段):
showGraph() {
this.hierarchialGraph.nodes = [
{
id: '1',
label: '1',
position: 'x1'
}
....
];
this.hierarchialGraph.links = [
{
source: '1',
target: '2',
label: '1'
}
....
];
}
Run Code Online (Sandbox Code Playgroud)
这是我对如何访问其中一个链接元素的源的第一个想法。但它最终不适用于 .source 。
getNeighborNode(string) {
for (const i of this.hierarchialGraph.links) {
if (string === this.hierarchialGraph.links[i].source) {
...
}
}
}
Run Code Online (Sandbox Code Playgroud)