2016-11-09 6 views
0

アングル2を新しくしました。 サービスから選択されたメニューを含むページがあります。私はどのように私はこのサービスからネガティブオブジェクトへのネストされたオブジェクトをアングル2のng2スマートテーブルにバインドします。

これを行うことができ、NG2-スマートテーブルにこの子をバインドする必要がある子オブジェクトは、私のtype.html

<div class="widgets"> 
<div class="form-group"> 
    <label for="exampleSelect1">Types</label> 
    <select [ngModel]="selectedObj" (ngModelChange)="onChangeObj($event)" name="sel3" class="form-control" id="exampleSelect1"> 
    <option [ngValue]="obj" *ngFor="let obj of objects">{{ obj.objectName }}</option> 

    </select> 
</div> 

<div class="row"> 
    <ba-card title="Types" baCardClass="with-scroll"> 
     <ng2-smart-table class='form-control' [settings]="settings" [source]="source" (deleteConfirm)="onDeleteConfirm($event)"></ng2-smart-table> 

    </ba-card> 
    </div> 

</div> 

であり、これは私のtype.component.ts

import {Component, ViewEncapsulation} from '@angular/core'; 

import { CustomerTypeService } from './customerType.service'; 
import { LocalDataSource } from 'ng2-smart-table'; 
import {TypeService} from './type.service'; 



@Component({ 
    selector: 'basic-tables', 
    encapsulation: ViewEncapsulation.None, 
    styles: [require('./type.scss')], 
    template: require('./type.html'), 
    providers: [TypeService], 

}) 
export class Type { 

    query: string = ''; 





    settings = { 
    add: { 
     addButtonContent: '<i class="ion-ios-plus-outline"></i>', 
     createButtonContent: '<i class="ion-checkmark"></i>', 
     cancelButtonContent: '<i class="ion-close"></i>', 
    }, 
    edit: { 
     editButtonContent: '<i class="ion-edit"></i>', 
     saveButtonContent: '<i class="ion-checkmark"></i>', 
     cancelButtonContent: '<i class="ion-close"></i>', 
    }, 
    delete: { 
     deleteButtonContent: '<i class="ion-trash-a"></i>', 
     confirmDelete: true 
    }, 
    columns: { 

     CustomerType: { 
     title: 'Type Name', 
     type: 'string' 
     } 

    } 
    }; 

    source: LocalDataSource = new LocalDataSource(); 

    public objects: Array<any> = new Array<any>(); 
    public type: Array<any> = new Array<any>(); 
    public id : number; 
     public objectsNum: number = 0; 


    constructor(protected _typeService: TypeService) { 
    this._typeService.getObject().subscribe((res) => { 
     this.objects = res; 

     this.objectsNum = (res) ? res.length : 0; 
    }, error => { 
     alert(error); 
    }); 
    } 
     selectedObj = this.objects; 
     onChangeObj(newObj) { 
    console.log(newObj); 
     this.source.load(this.selectedObj) 

     } 


    onDeleteConfirm(event): void { 
    if (window.confirm('Are you sure you want to delete?')) { 
     event.confirm.resolve(); 
    } else { 
     event.confirm.reject(); 
    } 
    } 
} 
です

object strucure

私はテーブルにそれをバインドするオブジェクトのオブジェクトの型のリストを取る必要があるように選択されたオブジェクトの構造、事前に

ありがとう!

答えて

1

onChangeObj

onChangeObj(newObj) { 
    console.log(newObj); 
     this.source.load(newObj.type); 
} 
を呼び出すときに私はそれを見つけた
関連する問題