预期有2个参数,但得到1.ts(2554)core.d.ts(8054,47):未提供'opts'的参数

时间:2019-06-12 15:51:03

标签: arguments nativescript decorator viewchild

这是我收到此错误的代码的一部分:

Expected 2 arguments, but got 1.ts(2554)
core.d.ts(8054, 47): An argument for 'opts' was not provided.

从这里:

import {ViewChild, ChangeDetectorRef, AfterViewInit} from "@angular/core"; 
import {RadSideDrawerComponent, SideDrawerType} from "nativescript-telerik-ui/sidedrawer/angular";

export class DrawerPage implements AfterViewInit {
    @ViewChild(RadSideDrawerComponent) protected drawerComponent: RadSideDrawerComponent; 
    protected drawer: SideDrawerType;

    constructor(private _changeDetectorRef: ChangeDetectorRef) { }

    ngAfterViewInit() { 
        this.drawer = this.drawerComponent.sideDrawer; 
        this._changeDetectorRef.detectChanges(); 
    }

    protected openDrawer() { 
        this.drawer.showDrawer(); 
    }

    protected closeDrawer() { 
        this.drawer.closeDrawer(); 
    }
}

我不明白这是什么问题?我是一名新学员,她将按照教程视频学习NativeScript!

2 个答案:

答案 0 :(得分:2)

在Angular 8中,ViewChild采用2个参数:

尝试这样:

for ( i = 2; i<= (n+1); i++) 
{ 
    total+=i; 
    total -= a[i-2]; // This will reduce the total so that overflow does not happen.
} 

说明:

{静态:否}

如果将static设置为false,则组件总是在视图初始化之后及时初始化ngAfterViewInit / ngAfterContentInit回调函数。

{静态:真实}

如果将static设置为true,则初始化将在视图初始化处ngOnInit进行

默认情况下,您可以使用{static:false}。如果要创建动态视图并要使用模板引用变量,则应使用{static:true}

有关更多信息,您可以阅读此here

谢谢。

答案 1 :(得分:0)

您正在使用nativescript-telerik-ui/sidedrawer,但最新版本的Nativscript不支持。该软件包为deprecated

对于侧面抽屉,请使用nativescript-ui-sidedrawer