我们可以连接字符串和可观察值并作为输入参数传递吗
Can we concatenate string and observable value and pass as input parameter
我有一个子组件需要来自其父组件的字符串输入参数。我想从父级传递一个 observable 以及其他字符串数据。
我们如何在不设置 component.ts 值的情况下做到这一点?需要在 component.html 中做这样的事情
谢谢
和你描述的完全一样。
在父组件中定义一个 Observable 和一个字符串
myObservable: BehaviorSubject<string> = new BehaviorSubject<string>('');
myString = '';
将其传递给您的子组件
<child-component [myObservable]="myObservable" [myString]="myString"></child-component>
然后在您的子组件中等待传递这些值。
@Input() myObservable: BehaviorSubject<string> = new BehaviorSubject<string>('');
@Input() myString = '';
实际上就是这样。
Observable 现在可以在两个组件之间工作。
变体 2 :: 分组
当你想把它全部放在一个地方时,你必须定义一个对象。
class AllTogether {
myObservable: BehaviorSubject<string>;
myString: string;
}
在你的父组件中实例化它
allTogether = new AllTogether();
allTogether.myObservable = new BehaviorSubject<string>('');
allTogether.myString = '';
将其传递给您的子组件
<child-component [allTogether]="allTogether"></child-component>
然后在您的子组件中等待传递对象。
class AllTogether {
myObservable: BehaviorSubject<string>;
myString: string;
}
@Input() allTogether = new AllTogether();
然后访问值
this.allTogether.myObservable.subscribe( /* do something */)
我有一个子组件需要来自其父组件的字符串输入参数。我想从父级传递一个 observable 以及其他字符串数据。
我们如何在不设置 component.ts 值的情况下做到这一点?需要在 component.html 中做这样的事情
和你描述的完全一样。
在父组件中定义一个 Observable 和一个字符串
myObservable: BehaviorSubject<string> = new BehaviorSubject<string>('');
myString = '';
将其传递给您的子组件
<child-component [myObservable]="myObservable" [myString]="myString"></child-component>
然后在您的子组件中等待传递这些值。
@Input() myObservable: BehaviorSubject<string> = new BehaviorSubject<string>('');
@Input() myString = '';
实际上就是这样。
Observable 现在可以在两个组件之间工作。
变体 2 :: 分组
当你想把它全部放在一个地方时,你必须定义一个对象。
class AllTogether {
myObservable: BehaviorSubject<string>;
myString: string;
}
在你的父组件中实例化它
allTogether = new AllTogether();
allTogether.myObservable = new BehaviorSubject<string>('');
allTogether.myString = '';
将其传递给您的子组件
<child-component [allTogether]="allTogether"></child-component>
然后在您的子组件中等待传递对象。
class AllTogether {
myObservable: BehaviorSubject<string>;
myString: string;
}
@Input() allTogether = new AllTogether();
然后访问值
this.allTogether.myObservable.subscribe( /* do something */)