参数在路由中传递而不传递角度4中的任何参数

时间:2018-02-06 07:26:00

标签: javascript angular typescript

我正在研究Angular项目。我正在从一个页面路由到另一个页面。我写了两个函数。在第一个我已经通过queryParams,而在第二个函数中我只路由到另一个函数,如下所示。

onEdit(event) {
    console.log(event.data);
    this.router.navigate(['pages/details'], {queryParams: event.data});
}

addData() {
    this.router.navigate(['pages/details']);
}

但是当我调用这个函数时,我在两个函数中都获得了参数

<nb-card-body>
    <button mat-button class="btn edit btn-success " style="margin-left: 400px;" (click)="addData()"><i class="nb-plus"></i></button>
    <ng2-smart-table [settings]="settings" [source]="source" (edit)="onEdit($event)" (deleteConfirm)="onDeleteConfirm($event)">
    </ng2-smart-table>
</nb-card-body>

当我在.html中调用addData()时,它将路由到详细信息页面,如下所示

export class DetailsComponent {
    data: any;
    isAddPage: boolean = true;

    constructor(private route: ActivatedRoute, private service: SmartTableService, private router: Router) {
        this.route.queryParams.subscribe(params => {
            this.data = params;
            console.log(params);
            if (this.data == null)
                this.isAddPage = true;
            else
                this.isAddPage = false;
        });
        console.log(this.data);
        console.log(this.isAddPage);
    }
}

虽然在addData()上它不应该传递任何数据,但它在控制台

中给我如下
{}__proto__: constructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ ()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()
details.component.ts:35 {}__proto__: Object
details.component.ts:36 false

任何帮助?

0 个答案:

没有答案