【问题标题】:Angular six set initial value for @Output EventEmitterAngular 六为@Output EventEmitter 设置初始值
【发布时间】:2018-10-02 07:27:12
【问题描述】:

我有一个组件

     <p style="padding: 5px">

      <select [(ngModel)]='thisDD' name="nameDD" id="idDD" (ngModelChange)="updateDD(thisDD)" class="form-control">
        <option *ngFor="let thing of thingies" [value]="thing.thingID">{{thing.ThingName}} ({{thing.ThingCode}})</option>
      </select>  

     </p>

有一个@OutPut

 @Output() selectedValue = new EventEmitter<object>();

我在我的应用中使用它

<my-dropdown (selectedValue)="setValue($event)"></my-dropdown> 

将组件中的代码调用为“setValue”

setValue(event){
this.currValue=event;
}

当下拉列表的值发生更改时,这一切都很好,但是我有其他组件依赖于设置的值 加载应用程序时。

有没有办法通过@Output 获取我默认组件的值? 或者您将如何实现?

【问题讨论】:

  • 如果它们是同级的,则使用 Input/Output 或服务(可能带有主题)将事件添加到其他组件
  • 为什么不能在ngOnInit 方法中发出默认值?

标签: angular typescript angular-library


【解决方案1】:

只需在 ngOnInit 中发出初始值

export class YourClass {

    @Output() selectedValue = new EventEmitter<object>();

    ngOnInit() {
        this.selectedValue.emit({{your initial value}});
    }
}

【讨论】:

    猜你喜欢
    • 2018-11-17
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    相关资源
    最近更新 更多