我有一个使用各种组件(视图)的应用程序,该组件中有显示其他组件的按钮,或者显示一组按钮,没有交互服务或其他形式的数据库交互。在大多数情况下,所有过程流体都流动良好,但是一次,这些组件不会按预期进行反应,并会阻塞或持续数秒钟进行反应。
这是我的app-routing.ts模块:
import { NgModule } from "@angular/core";
import { NativeScriptRouterModule } from "nativescript-angular/router";
import { Routes, PreloadAllModules } from "@angular/router";
import { HomeComponent } from "./home/home.component";
import {MesasComponent} from "./mesas/mesas.component";
//import {ComandaComponent} from "./comanda/comanda.component";
//import { ModificadoresComponent } from "./comanda/modificadores.component";
//import { LoginComponent } from "./login/login.component";
import { NOrdenComponent } from "./orden/nueva.component";
import { MeserosComponent } from "./meseros/meseros.component";
import { ComensalesComponent } from "./comensales/comensales.component";
import { ProdLComponent } from "./productoLibre/prodlibre.component";
import { RazonesComponent } from "./razonesCancela/razonDetC.component";
const routes: Routes = [
{
path: "", redirectTo: "/login", pathMatch: "full",
},
{
path: "login", loadChildren: "./login/login.module#LoginModule"
// path: "login", component: LoginComponent,
},
{
path: "mesas", loadChildren: "./mesas/mesas.module#MesasModule"
// path: "mesas", component: MesasComponent,
},
{
// path: "home", loadChildren: "./home/home.module#HomeModule"
path: "home", component: HomeComponent,
},
{
path: "comanda", loadChildren: "./comanda/comanda.module#ComandaModule"
// path: "comanda", component: ComandaComponent,
},
{
path: "subP-Mod", loadChildren: "./comanda/modificadores.module#ModificadoresModule"
//path: "subP-Mod", component: ModificadoresComponent,
},
{
// path: "nOrden", loadChildren: "./orden/nueva.module#NuevaModule"
path: "nOrden", component: NOrdenComponent
},
{
// path: "meseros", loadChildren: "./meseros/meseros.module#MeserosModule"
path: "meseros", component: MeserosComponent
},
{
// path: "comensales", loadChildren: "./comensales/comensales.module#ComensalesModule"
path: "comensales", component: ComensalesComponent
},
{
//path: "prodlibre", loadChildren: "./productoLibre/prodlibre.module#ProdLModule"
path: "prodlibre", component: ProdLComponent
},
{
// path: "razonDet", loadChildren: "./razonesCancela/razonDetC.module#razonDetModule"
path: "razonDet", component: RazonesComponent
},
];
@NgModule({
imports: [NativeScriptRouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })],
exports: [NativeScriptRouterModule]
})
export class AppRoutingModule { }
这些是一些代码示例:
regresaMesa(objMesa : ctMesas): void {
SESSION.g_cMesa = objMesa.cMesa;
SESSION.g_iMesa = objMesa.iMesa;
SESSION.g_iArea = objMesa.iArea;
//limpiamos valores encabezado y detalle
SESSION.g_vtOden = null;
SESSION.g_vtOrdenDet = null;
console.log("valor en session: --> " + SESSION.g_cMesa);
Toast.makeText("Mesa Selecionada " + SESSION.g_cMesa).show();
this.isBusy1 = true;
this._router.navigate(["/home"]);
}
//pasa valor idArticulo para la busqueda de subproductos
SubProd(objctArticulo: ctArticulo) {
//valida que se tenga articulo
if (this.viCantidad == 0 || this.viCantidad == null){
alert ("la cantidad debe tener un valor valido");
return;
}
console.log("comensal->" + this.iComensales);
Toast.makeText("Buscando SubProductos y Modificadores").show();
SESSION.g_lSeleArt = true;
SESSION.g_iSelArticulo = objctArticulo.iArticulo;
COMANDA.g_ctArticulo = objctArticulo;
COMANDA.g_iCantidad = this.viCantidad;
COMANDA.g_iComensal = this.iComensales;
this.routerExtension.navigate(["/subP-Mod"], { clearHistory: false });
}
public GuardaOrden() {
if (this.vlClick == true){
TNSFancyAlert.showError("Informacion" ,"la orden esta siendo procesada" , "aceptar");
return;
}
this.vlClick = true;
this.isBusy1 = true;
//cuando se presiona el boton la imagen cambia
let image1 = new ImageSource();
image1.loadFromFile("~/app/images/si2.png");
this._image1 = image1;
let lRespuesta: any, lError: any, lMensaje;
if ((this.vtOrdenDetArray == []) || (this.vtOrdenDetArray == null) || (this.vtOrdenDetArray.length == 0)){
console.log("sin detalle");
this.routerExtension.navigate(["/home"]);
return;
}
this._vtGuardaPedService.PostGuardaPedido(SESSION.g_cCveCIA, this.viFolio ,
this._cCveEmp,this.vtOrdenDetArray,
this.vtOrdenModArray).subscribe(
(result) => {
this.limpiar();
lRespuesta = result.body;
lError = lRespuesta.response.oplError;
lMensaje = lRespuesta.response.opcMensaje;
console.log("error" + lError);
if (lError == 'true') {
//alert("Error al guardar orden" + lMensaje);
TNSFancyAlert.showError("Error al guardar " ,lMensaje , "VALIDACION");
this.isBusy1 = false;
this.vlClick = false;
} else {
this.limpiar();
SESSION.g_iFolioCreaOrd = this.viFolio;
SESSION.g_iIDCreaOrden = this.viIDiario;
this.isBusy1 = false;
this.vlClick = false;
this.routerExtension.navigate(["home"]);
}
}, (error) => {
/*console.log("error" + error);
alert(error);
*/
this.isBusy1 = false;
console.log("error" + error);
if ( error.error.originalStack != undefined || error.error.originalStack !=null){
TNSFancyAlert.showError("Error Conexion! Servidor" , error.error.originalStack, "ACEPTAR");
}
if ( error.error._errors != undefined || error.error._errors != null){
TNSFancyAlert.showError("Error Progress" , error.message + "\n" + error.error._errors[0]._errorMsg + "Num Error" +
error.error._errors[0]._errorNum, "ACEPTAR");
}
this.isBusy1 = false;
this.vlClick = false;
},()=>{
this.limpiar();
this.vlClick = false;
console.log("final");
});
}