2017-07-25 58 views
0

我打开一个模式使用ngx-bootstrap我Angular4内部应用程序:http://valor-software.com/ngx-bootstrap/#/modals#service-component模态不反映绑定?

问题是模型没有体现出对模式的观点。该对象已更新,但未反映在视图上。这里是重要的位:

showFromComponent(modalComponent: any, model?: any): void { 
    let modal = this.modalService.show(modalComponent); 

    if (model) { 
     let component = <BaseModalComponent>modal.content; 

     component.model = model; 
     component.afterModelLoad(); 
    } 
} 

BaseModalComponent

import { BsModalRef } from 'ngx-bootstrap/modal/modal-options.class'; 

export abstract class BaseModalComponent { 
    model: any = {}; 

    protected constructor(
     public bsModalRef: BsModalRef 
    ) { } 

    public abstract afterModelLoad(): void; 
} 

ModalComponent

import { Component, OnInit } from '@angular/core'; 
import { BsModalRef } from 'ngx-bootstrap/modal/modal-options.class'; 
import { BaseModalComponent } from '../../../app.core/abstractions/base-modal.component'; 

@Component({ 
    selector: 'visit-detail-modal', 
    templateUrl: './visit-detail-modal.component.html', 
    styleUrls: ['./visit-detail-modal.component.css'] 
}) 
export class VisitDetailModalComponent extends BaseModalComponent implements OnInit { 
    description: string = ''; 

    constructor(
     public bsModalRef: BsModalRef 
    ) { 
     super(bsModalRef); 
    } 

    ngOnInit(): void { 
    } 

    afterModelLoad(): void { 
     this.description = this.model.title; 
    } 
} 

最后认为:

<div class="modal-body"> 
    {{description}} 
</div> 

介绍总是空白。如果我在afterModelLoad中添加了调试器,则设置了description,但它不更新视图。

任何想法?在你们的末日ChangeDetectorRef和运行detectChanges afterModelLoad方法:

回答