2017-04-11 2 views
1

Ich bin neu bei nativescript, da ich gerade die Navigationsschublade lerne. Ich habe nur ein paar Fehler.RadSideDrawer funktioniert nicht Nativescript angular 2

register.html

<ActionBar title="Custom Title"> 

     <ActionItem ios.systemIcon="9" android.systemIcon="ic_menu_share_holo_light" (tap)="openDrawer()"></ActionItem> 
    </ActionBar> 
<RadSideDrawer #drawer> 
     <template drawerSide> 
      <StackLayout class="p bgc-white"> 
       <ListView row="1"> 
        <template let-item="item" let-i="index"> 
         <StackLayout> 
          <Label text="WWW" class="page-name" ></Label> 
         </StackLayout> 
        </template> 
       </ListView> 
      </StackLayout> 
     </template> 
     <template drawerMain> 
      <StackLayout class="m"> 
       <user-list></user-list> 
      </StackLayout> 
    </template> 
</RadSideDrawer> 

register.component.ts

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

@Component({ 
    selector: "register", 
    templateUrl :"./pages/register/register.html" 
}) 

export class RegisterComponent 
{ 
    @ViewChild(RadSideDrawerComponent) public drawerComponent: RadSideDrawerComponent; 
    private drawer: SideDrawerType; 
    constructor (private _changeDetectionRef: ChangeDetectorRef) { 

    } 

    ngAfterViewInit() { 
     console.log(" FFFFF"); 
     this.drawer = this.drawerComponent.sideDrawer; 

     this._changeDetectionRef.detectChanges(); 
    } 
    public openDrawer() 
    { 
     this.drawer.toggleDrawerState(); 
    } 
} 

das folgende ist das Protokoll i

promiseReactionJob @ [nativen Code] bin immer CONSOLE Fehlerdatei: ///app/tns_modules/@angular/core/bundles/core.umd.js: 3481: 36: ERROR CONTEXT:

CONSOLE ERROR file: /// app/tns_modules/@ Winkel/core /bundles/core.umd.js:3482:36: [Objekt]

CONSOLE FEHLER file: ///app/tns_modules/nativescript-angular/zone-js/dist/zone-nativescript.js: 344: 22: Fehler: Fehler in: 0: 0 verursacht durch: undefined ist kein Objekt (Bewertung 'this.drawerComponent.sideDrawer')

+1

können Sie entfernen, dass '# drawer' vom' 'Tag. Und nicht, dass es mit Ihrem Problem zusammenhängt, aber um Ihrer IDE zu helfen, können Sie Ihre Klasse 'AfterViewInit' implementieren lassen. –

Antwort

0

Haben Sie das NativeScriptUiSideDrawerModule in Ihr app.module importiert?

Etwas wie folgt aus:

import { NativeScriptUISideDrawerModule } from 'nativescript-telerik-ui/sidedrawer/angular'; 

@NgModule({ 
    bootstrap: [ 
     AppComponent 
    ], 
    imports: [ 
     CoreModule, 
     NativeScriptModule, 
     PagesModule, 
     NativeScriptUISideDrawerModule // RIGHT HERE 
    ], 
}) 
export class AppModule { } 

Es ist in den Getting Started docs skizziert ist: http://docs.telerik.com/devtools/nativescript-ui/Controls/Angular/getting-started

+0

thankyou @Shawn der Fehler wurde behoben, aber immer noch die Schublade nicht öffnen –