angular - 在同一文件中的另一个组件中使用一个组件的变量
问题描述
我在同一个文件中定义了两个组件,并试图将一个组件的一个变量访问到另一个变量中,并得到了这个
答案,但是get SomeValue()
当我尝试引用它时,该函数没有出现在另一个类中。
在提供的链接上给出答案:
export class Demo {
const sum = 10;
get SumValue() {
return this.sum;
}
}
导入-->演示
export class Demo2 {
private sum: number;
this.sum = Demo.SumValue();
}
我可以使用共享服务,但不想仅将它用于一个变量。
我从那个答案中遗漏了什么?
解决方案
这就是所谓的Component Interaction
您需要为此使用@Input
。
如果您要发送孩子的属性正在异步更改,那么您需要使用EventEmitter
检查此链接以供参考
这是一个简单的例子:
子组件
import { Component, Input } from '@angular/core';
@Component({
selector: 'child-component',
template: `<h2>Child Component</h2>
current count is {{ count }}
`
})
export class ChildComponent {
@Input() count: number;
}
父组件:
import { Component} from '@angular/core';
@Component({
selector: 'app-root',
template: `
<h1>Welcome to {{title}}!</h1>
<button (click)="increment()">Increment</button>
<button (click)="decrement()">decrement</button>
<child-component [count]=Counter></child-component>` ,
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Component Interaction';
Counter = 5;
increment() {
this.Counter++;
}
decrement() {
this.Counter--;
}
}
推荐阅读
- javascript - 从解析的 JSON 中点击类名
- winapi - 使用 SetFileInformationByHandle 重命名文件,但它被删除了
- r - 如何在 R vegan 中对 CAP/capscale 进行留一交叉验证?
- azure - 如何在 Xamarin Forms iOS-App 中接收 ASPN 令牌
- ios - 如何使用节点js在paypal的单笔交易中将金额转移到两个不同的商家?
- javascript - 如何在 Gatsby.js 中更改移动浏览器上的地址栏颜色
- jenkins - 在詹金斯的常规脚本中,调用目标引发了异常
- .net-core - 如何通过私有 NuGet 服务器将 API 密钥与 dotnet 还原一起使用
- ios - StoreKit:收据验证问题
- java-8 - java 8流分组和创建地图
> 问题