Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angular2中多个组件之间的双向数据绑定?_Angular_Typescript_Data Binding_Angular2 Components_Angular2 Inputs - Fatal编程技术网

angular2中多个组件之间的双向数据绑定?

angular2中多个组件之间的双向数据绑定?,angular,typescript,data-binding,angular2-components,angular2-inputs,Angular,Typescript,Data Binding,Angular2 Components,Angular2 Inputs,我有两个组件HomePageComponent和StudentResultsComponent。我在HomePageComponent中有一个输入,当我键入时,我希望该值位于StudentResultsComponent输入中 我想为输入创建一个单独的组件,并在两个组件中调用它们,但当我开始在HomePageComponent中键入时,StudentsResultsComponent中的值没有更新。这是我的密码: Career-Search-Component.html 如果您的两个组件没有任

我有两个组件HomePageComponent和StudentResultsComponent。我在HomePageComponent中有一个输入,当我键入时,我希望该值位于StudentResultsComponent输入中

我想为输入创建一个单独的组件,并在两个组件中调用它们,但当我开始在HomePageComponent中键入时,StudentsResultsComponent中的值没有更新。这是我的密码:

Career-Search-Component.html


如果您的两个组件没有任何其他连接,我知道的唯一方法就是使用服务。AJT_82提供的链接有一个例子,这是我能想到的最小的例子:

从“@angular/core”导入{Component,Injectable,EventEmitter}; @注射的 导出类输入服务{ 公共inputEvents:EventEmitter=新的EventEmitter; 公共inputChangedval:字符串{ this.inputEvents.emitval; } } @组成部分{ 选择器:'观察者', 模板:` 输入值:{{myValue}}

` } 导出类ObserverComponent实现OnDestroy{ 私有myValue:string; 私人认购:认购; constructorprivate服务:InputService{ this.subscription=this.service.inputEvents.subscriptbenewValue=>{ this.myValue=newValue; } } Ngondestory:无效{ this.subscription.unsubscripte; } } @组成部分{ 选择器:'可观察', 模板:` ` } 导出类ObservableComponent{ private\u inputValue:字符串; constructorprivate服务:InputService{} 公共获取inputValue:字符串{ 返回此值。\u inputValue; } 公共集inputValueval:字符串{ 该值为.\u inputValue=val; this.service.inputChangedval; } } @组成部分{ 选择器:'应用程序根', 模板:` ` } 导出类AppComponent{
}那么这个职业搜索组件是什么呢?并且您没有显示任何模板。。您在何处输入您的主页组件,而不是在您希望获得输入的学生结果组件中输入模板?这两个组成部分之间的关系是什么?同级组件,或父子组件或什么对不起,我误解你了。因此,基本上我想要的是获取HomePageComponent中键入的输入值,并使用ngModel@AJT\u 82ookay将其传递给另一个名为StudentResultsComponent的组件中的输入。。。但是HomePageComponent中输入的代码在哪里?模板和ts代码是什么样子的?这些组成部分之间的关系是什么?这也是重要的信息。如果它们是父级和子级,您可以使用输入如果它们不是父级和子级,您需要使用共享服务:这是一个很好的页面,可以阅读组件如何相互通信哦,很抱歉。在主页的ts中没有什么重要的显示。它们之间的关系只是两个不同的组成部分。他们不是孩子什么的@AJT——感谢您的解释和示例。这正是我想要的。