当前位置: 首页 > 知识库问答 >
问题:

如何初始化@Input属性

谢叶五
2023-03-14

@Input() todo: ITodos
public tags: Array<string> = [...this.todo.tags]

但是我得到错误“在初始化之前使用属性”这是有道理的,因为我只声明todo。但是我不知道我应该如何或为了什么初始化输入,因为值是输入

共有1个答案

冉高寒
2023-03-14

简单的方法是在 getter 中初始化标记以进行输入,如本答案所示。

如果您在项目中使用RxJs您可以传递一个Observable,在OnInit方法中订阅它,并在订阅触发时更新标签

@Input() todo: Observable<ITodos> = null;
public tags: Array<string> = null;

this.todo.pipe(untilDestroyed(this))
         .subscribe(value => this.tags = [...value.tags]);

附言:@ngneat/直到销毁用于示例中的订阅清理

 类似资料:
  • 问题内容: 我想从属性文件中的init我的ORB(通常我初始化它像这样,在运行我的例子: ) 我写了一个简单的代码: 然后尝试初始化我的球体: 但是有一些错误: 我的config.properties文件: 我做错了什么? 通常,当我初始化我的ORB时,一切都很好,所以它不是代码问题,而是文件初始化的问题。 问题答案: 您还必须添加到ORB参数。将其与您通常使用的命令行进行比较。所有参数都必须传递

  • 我在代码中使用了合成属性。但想知道它如何以及何时初始化Android中的每个视图。 我们只提供导入和访问每个视图的ID。何时为视图对象分配内存?

  • 问题内容: 我希望图片移到底部。如果按按钮,图片应向下移动1。 我添加了图片和一个按钮: 至少我在函数“ fahren”中说过将图片向下移动1。 所以我的问题是:这些corX和corY东西会出现一些错误。没有它们,它会完美地工作,但比起一次性按钮就好。错误是:ViewController.Type没有名为corX的成员,而ViewController.Type没有名为panzer的成员。 PS:我

  • 我在想,是否可以使用对< code>this关键字的引用来初始化一个(引用类型)属性(当它的值为< code>null),而不使用构造函数。< br >在某些情况下,我不想使用构造函数来初始化属性,因此,如果没有人访问它,它的值将不会被创建。< br >此外,如果可能的话,我不喜欢在构造函数中将属性声明与其初始化分开。 一个典型的例子是MVVM模式编程的命令声明: 我不喜欢写三倍的成员的名字… 我

  • 我有一个非常基本的问题。我需要如何为ArrayList键入parrameters才能在BlueJ中使用代码?我有一个方法如下。

  • 我试图传递IOUFlowIssueTest,但给我的错误是MockNetwork没有初始化,而它已经初始化了。 UninitializedPropertyAccessException:lateinit属性mockNetwork尚未初始化