从路由加载子组件时,从父组件触发子组件方法

时间:2017-09-28 07:03:19

标签: angular typescript1.4

我创建了一个子组件,当我调用父组件方法时,它有一个我想要执行的方法。

这似乎是重复的问题,如下所示。

Call child component method from parent class - Angular

当我将子组件包含在父组件模板中时,这非常有效,例如

.addingCalendarIcon:after{
  content: "\f073";
  color:black;
}

.addingCalendar:after{
  position:relative;
  right:260px;
  top:5px;
  float:right;
  font-family: FontAwesome;
}

但是,在我的情况下,我使用路由加载子组件,在这种情况下,我无法执行子方法,因为viewchild变为null。

以下是我的更改快速启动Angular应用程序。

<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div>
  <label>Date of Birth : </label>
  <div>
    <span class="addingCalendar addingCalendarIcon">
      <input type="search" placeholder="dd-mm-yyyy" name="dateOfBirth" onchange="dateOfBirthCheck();adding28Days();makingSixWeekDate();making40dayDate();"  id="dateOfBirth" readonly="true"/>
    </span>
  </div>
</div>

ItemComponent.html:

<parent-comp> <child-comp></child-comp></parent-comp>.

我在item组件中为子属性获取null。任何解决方案都非常值得赞赏。

1 个答案:

答案 0 :(得分:1)

使用共享服务与路由器添加的组件进行通信。

您可以使用ls | where {$_.Length -lt .0.0005mb} | Remove-Item -Force-Recurse 事件让父母了解路由器添加组件的时间

activate