Typescript 通过组件将可观察到的内容传递给组件

Typescript 通过组件将可观察到的内容传递给组件,typescript,knockout.js,observable,Typescript,Knockout.js,Observable,我的结构非常复杂,所以我需要将可观察变量从主视图传递到组件,组件将把它传递到另一个组件 由于observable从ajax调用中获取数据,所以在开始时,它在最后一个组件中是未定义的 如何正确通过它 博士 所有组件中的所有变量都声明为可观察变量 情况是这样的。如何使我看到更改的文本?首先,必须将子组件设置为接受其viewModel定义中的参数 ko.components.register('myComponent', { viewModel: function(params){

我的结构非常复杂,所以我需要将可观察变量从主视图传递到组件,组件将把它传递到另一个组件

由于observable从ajax调用中获取数据,所以在开始时,它在最后一个组件中是未定义的

如何正确通过它


博士


所有组件中的所有变量都声明为可观察变量



情况是这样的。如何使我看到更改的文本?

首先,必须将子组件设置为接受其viewModel定义中的参数

ko.components.register('myComponent', {
  viewModel: function(params){
      var self = this;

      self.myObservable = params.data;
      return this;
   }
   ...
然后,根据此操作,可以用花括号传递参数,如下所示:

<myComponent params="{ data: $data.myParameter}"></myComponent>


工作示例:

“…设置为在其viewModel定义中接受参数”-此选项已存在。。。大约2秒-似乎没有帮助好吧,附上一个提琴样本好吧。你能检查一下这个示例吗?我需要做什么才能看到更改后的文本?我应该订阅每个参数吗?:(我的错,谢谢
constructor(params: any) {
    this.data = params.data; // here it is undefined
 }
ko.components.register('myComponent', {
  viewModel: function(params){
      var self = this;

      self.myObservable = params.data;
      return this;
   }
   ...
<myComponent params="{ data: $data.myParameter}"></myComponent>