在另一个非父/子组件中使用变量

时间:2018-01-20 14:38:42

标签: angular typescript

我试图在两个组件之间传递变量 - 它们不是父/子组件。我有一个名为input.ts的文件,其中包含一个input.html文件,用户在其输入中输入。然后将他/她输入的值推入input.ts文件中的数组中。我希望能够在另一个组件(calendar.ts和calendar.html)中访问此变量(具有推送值),因为这是我需要操作并将值推送到日历中的位置。我读过你可以使用服务,但看起来相当复杂。在angular / typescript中有一个简单的方法吗?

我尝试过这样做,但不幸的是没有成功。

我希望有人能帮助我。

非常感谢,非常感谢!

class InputComponent {
inputtedValuesArray: string[] = []

}

import {InputComponent} from '../input/input.component'
class CalendarComponent {

generateCalendar() { //function just to see the values inside.
for (let i of inputtedValuesArray) {
console.log(i);
}

}

2 个答案:

答案 0 :(得分:0)

使用服务,这是解决问题的最佳方式

答案 1 :(得分:0)

感谢那些回答的人! 那些面临同样问题的人,我创造了一项服务。

export class InputService {

public array = [];

getSubjects() {
return this.array.slice();
}

addInputToService (input // eg. an object) {
this.array.push(input);

}

}

然后我在输入组件ts文件中执行了addInputToService函数。这样,值就会分配给数组。然后,另一个组件可以通过执行getSubjects函数来访问此数组。这样,服务中数组的内容就会被放入需要获取值的组件内的数组中。