0

我正在开发在模块中包含数据表单的 nativescript-angular 应用程序,并使用延迟加载技术调用该模块。Android 的生活是美好的,但是当我在 ios 中打开这个模块时应用程序立即退出而没有任何错误日志!代码很简单转发,看不出哪里有问题!

测试组件.ts

import { Component, OnInit } from "@angular/core";
import { ActivatedRoute } from "@angular/router";
import { RadDataForm, DataFormEventData } from "nativescript-ui-dataform";
import { UserAddress } from "../../shared/data-services/address";
@Component({
    selector: "test",
    moduleId: module.id,
    templateUrl: "./test.component.html",
    styleUrls:["./test.component.css"]
})
export class TestComponent implements OnInit {
    private _userAddress: UserAddress;
    constructor() {
     } 
    ngOnInit() {
        this._userAddress = new UserAddress();
    }
    get userAddress(): UserAddress {
        return this._userAddress;
    }
}

test.component.html

<ActionBar class="action-bar">
        <NavigationButton [nsRouterLink]="['../../home']" android.systemIcon="ic_menu_back"></NavigationButton>
        <Label class="action-bar-title" text="Test"></Label>
</ActionBar>
<ScrollView tkExampleTitle tkToggleNavButton>
    <StackLayout>
        <RadDataForm tkExampleTitle tkToggleNavButton [source]="userAddress">
        </RadDataForm>
    </StackLayout>
</ScrollView>

此模块的路由 signup-routing.module.ts

import { NgModule } from "@angular/core";
import { Routes } from "@angular/router";
import { NativeScriptRouterModule } from "nativescript-angular/router";


import { ItemsComponent } from "./test/test.component";


export const COMPONENTS = [ItemsComponent ];

const routes: Routes = [

    { path: "", redirectTo: "testInfo"  },
    { path: "testInfo", component: testComponent }
];

@NgModule({
    imports: [NativeScriptRouterModule.forChild(routes)],  // set the lazy loaded routes using forChild
    exports: [NativeScriptRouterModule]
})
export class SignupRoutingModule {}

然后我们有 signup.module.ts

import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
import { NativeScriptCommonModule } from "nativescript-angular/common";
import { COMPONENTS, SignupRoutingModule } from "./signup-routing.module";
import { NativeScriptFormsModule } from "nativescript-angular/forms";
import { NativeScriptUIDataFormModule } from "nativescript-ui-dataform/angular";


@NgModule({
    imports: [
       NativeScriptCommonModule, // for rednering actionbar with lazy laoding
       NativeScriptFormsModule,
       SignupRoutingModule,
       NativeScriptUIDataFormModule

    ],
    declarations: [
        ...COMPONENTS
    ],
   // providers: [SignupService],
    schemas: [
        NO_ERRORS_SCHEMA
    ]
})
/*
Pass your application module to the bootstrapModule function located in main.ts to start your app
*/
export class SignupModule { }

并且在基本路由文件中使用延迟加载调用模块,如下所示:

{ path: "signup", loadChildren: "~/app/signup/signup.module#SignupModule", outlet: "homeTab"  } 

帮助表示赞赏!GitHub 上的代码 https://github.com/lighttiger/lazy

4

0 回答 0