Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 离子2-navPush由于某种原因不起作用_Javascript_Angularjs_Ionic Framework_Ionic2 - Fatal编程技术网

Javascript 离子2-navPush由于某种原因不起作用

Javascript 离子2-navPush由于某种原因不起作用,javascript,angularjs,ionic-framework,ionic2,Javascript,Angularjs,Ionic Framework,Ionic2,导航按钮停止工作了,我真的不知道为什么。它也不能与这个.nav.push()一起工作。我尝试了更多的按钮,导航按钮,我真的不明白为什么不工作 html文件 <ion-header> <ion-toolbar color="danger"> <ion-title> {{ nombreLista }} </ion-title> <ion-buttons end [navPu

导航按钮停止工作了,我真的不知道为什么。它也不能与这个.nav.push()一起工作。我尝试了更多的按钮,导航按钮,我真的不明白为什么不工作

html文件

<ion-header>
  <ion-toolbar color="danger">
    <ion-title>
      {{ nombreLista }}
    </ion-title>
    <ion-buttons end
                 [navPush]="home"
                 [navParams]="DataLista">
      <button ion-button icon-only color="white">
        Home <ion-icon name="ios-arrow-forward"></ion-icon>
      </button>
    </ion-buttons>

  </ion-toolbar>
</ion-header>

<ion-content padding>

  <ion-list *ngFor="let lista of listaFinal">
    <ion-list-header *ngIf="lista.articulos.length > 0"> Pasillo {{lista.pasillo}} </ion-list-header>
    <ion-item-sliding *ngFor="let articulo of lista.articulos">
      <ion-item>{{articulo}}</ion-item>
      <ion-item-options  side="right">
        <button ion-button expandable
                (click)="onDelete(articulo)"
                color="danger"
                ><ion-icon name="md-trash"></ion-icon>Borrar</button>
      </ion-item-options>
    </ion-item-sliding>
  </ion-list>

  <button  (click)="onPush()">
    <ion-icon name="add"></ion-icon>
  </button>

  <ion-fab bottom right>
    <button  ion-fab mini
             color="danger"
             [navPush]="elegirItem"
             [navParams]="DataLista">
      <ion-icon name="add"></ion-icon>
    </button>
  </ion-fab>
</ion-content>

{{nombreLista}}
家
帕西洛{{lista.Pasillo}
{{articulo}}
博拉尔
ts文件

import {Component, OnInit} from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import {HomePage} from "../home/home";
import { ElegiritemsPage } from "../elegiritems/elegiritems";


@Component({
  selector: 'page-lista-terminada',
  templateUrl: 'lista-terminada.html',
})
export class ListaTerminadaPage implements OnInit{
  home=HomePage;
  elegirItem = ElegiritemsPage;
  nombreLista;
  listaFinal : {pasillo: number, articulos:string []}[];
  DataLista;



  constructor(public navCtrl: NavController, public navParams: NavParams) {
  }


  ngOnInit(){
    this.DataLista = this.navParams.data;
    this.listaFinal = this.navParams.get('listaOrden');
    this.nombreLista = this.navParams.get('listaNombre');
    this.DataLista.listaActiva = this.listaFinal;
  }


  //recibe un articulo y recorre el arreglo, en caso de ser iguales, se elimina

  onDelete(articulo) {
    for (var i = 0; i < this.listaFinal.length; i++) {
      for (var x = 0; x < this.listaFinal[i].articulos.length; x++) {
        if (this.listaFinal[i].articulos[x] === articulo) {
          this.listaFinal[i].articulos.splice(x, 1)
        }
      }
    }
    this.DataLista.listaActiva = this.listaFinal;
  }
  onPush(){
    console.log('jose');
    this.navCtrl.push(this.elegirItem);

  }
}
从'@angular/core'导入{Component,OnInit};
从“离子角度”导入{NavController,NavParams};
从“./home/home”导入{HomePage};
从“./elegirtems/elegirtems”导入{elegirtemspage};
@组成部分({
选择器:'page lista terminada',
templateUrl:'lista terminada.html',
})
导出类LisaterMinAdapage实现OnInit{
主页=主页;
elegirItem=ElegiritemsPage;
诺姆布雷利斯塔;
listaFinal:{pasillo:number,articulos:string[]}[];
数据列表a;
构造函数(公共navCtrl:NavController,公共navParams:navParams){
}
恩戈尼尼特(){
this.DataLista=this.navParams.data;
this.listaFinal=this.navParams.get('listaOrden');
this.nombreLista=this.navParams.get('listaNombre');
this.DataLista.listaActiva=this.listaFinal;
}
//在埃利米纳东南部的伊瓜莱斯之家里,有一座艺术建筑
onDelete(articulo){
for(var i=0;i
ElegirItems.html

<ion-header>
  <ion-toolbar color="danger">
    <ion-title>
    {{nombreLista}}
  </ion-title>

    <ion-buttons end>
      <button ion-button
              clear color="white"
              (click)="onOrganizaLista()"
              [navPush]="listaTerminada"
              [navParams]="DataLista">LISTO</button>
    </ion-buttons>
  </ion-toolbar>
</ion-header>


<ion-content padding class="backgroundd">
  <ion-searchbar (ionInput)="getItems($event)">

  </ion-searchbar>
  <ion-list>
    <ion-item *ngFor="let articulo of listaProductos">{{articulo.nombre}}
      <button ion-button icon-only
              item-end clear color="danger"
              (click)="onItemSelect(articulo)"
      ><ion-icon [name]="articulo.estado ===0 ? addBoton : remBoton" ></ion-icon></button>
    </ion-item>
  </ion-list>
</ion-content>

{{nombreLista}}
利斯托
{{articulo.nombre}}
elegiritems.ts

import {Component, OnInit} from '@angular/core';
import { NavParams } from 'ionic-angular';
import {HomePage} from "../home/home";
import {ListaTerminadaPage} from "../lista-terminada/lista-terminada";
import {Articulo} from "../../Data/articulo.interface";
import Organizador from '../../Data/Organizador';


@Component({
  selector: 'page-elegiritems',
  templateUrl: 'elegiritems.html',
})
export class ElegiritemsPage implements OnInit{
  home=HomePage;
  listaTerminada=ListaTerminadaPage;
  listaProductos :Articulo[]=[];
  productosElegidos: Articulo[] =[];
  listaOrdenada : {pasillo: number, articulos:string[]}[];
  nombreLista:string ='';
  addBoton='ios-add-circle';
  remBoton ='md-close';
  DataLista;


  constructor(public navParams: NavParams) {
  }

  ngOnInit(){
    this.DataLista = this.navParams.data;
    this.listaProductos = this.navParams.get('articulos');
    this.nombreLista = this.navParams.get('listaNombre')
  }

  //Resetea el valor de la Lista ordenada, la cual es reducida en la pag siguiente, al volver atras le da el valor inicial

  ionViewCanEnter(){
    this.listaOrdenada = Organizador;
    this.productosElegidos = this.navParams.get('listaActiva');
    this.onActivos();
    console.log(this.productosElegidos);
  }

  //Inicia una funcion dependiendo de si pertenece o no a la lista de productos elegidos
  onItemSelect(articulo:Articulo){
    if (articulo.estado === 0) {
      this.onAddProduct(articulo);
      articulo.estado = 1;
      return
    }
    if (articulo.estado === 1)
    {
      this.onDeleteProduct(articulo);
      articulo.estado=0;
      return
    }

  }

  //resetea los valores de estado de la lista de productos y a los valores activos los deja en estado 1
  onActivos(){
    for (var i =0; this.listaProductos.length; i++){
      this.listaProductos[i].estado=0;
    }
    for (var x = 0; this.productosElegidos.length; x++){
      this.productosElegidos[x].estado = 1;
    }
  }

  //Agrega el articulo a la lista de productos elegidos
  onAddProduct(articulo: Articulo) {
    console.log(articulo);
    this.productosElegidos.push(articulo);
    console.log(this.productosElegidos);
  }

    //Elimina el articulo de la lista de productos elegidos
    onDeleteProduct(articulo: Articulo){
      const position = this.productosElegidos.findIndex((articuloEl:Articulo) =>{
        return articuloEl.nombre == articulo.nombre
      });
      this.productosElegidos.splice(position,1)
    }



  //Revisa si el articulo seleccionado forma parte del arreglo de los productos elegidos, tambien cambia el icono
  //NO IMPLEMENTADO

  onChecked(articulo){
    for (var i =0; i < this.listaProductos.length; i++) {
        if (this. listaProductos[i].nombre === articulo.nombre){
          return true
        }
    }
    return false
  }

  //Agrega los articulos a una lista ordenada que obtiene desde la basa de datos, esta esta organizada por pasillos

  onOrganizaLista(){
    for (var i =0; i < this.listaOrdenada.length; i++) {
      for (var x =0 ; x < this.productosElegidos.length; x++){
        if (this.listaOrdenada[i].pasillo == this.productosElegidos[x].pasillo){
          this.listaOrdenada[i].articulos.push(this.productosElegidos[x].nombre)
        }
      }
      x=0;
    }
    //Alimenta el arreglo para tener el nombre y la lista ordenada
    this.DataLista.listaOrden = this.listaOrdenada;
  }

  //Funcionalidad de la barra de busqueda, codigo de ionicDocs adecuado

  getItems(ev:any){
    this.listaProductos = this.navParams.get('articulos');

    let val = ev.target.value;

    if (val && val.trim() != ''){
      this.listaProductos = this.listaProductos.filter((item: any) => {
        return (item.nombre.toLowerCase().indexOf(val.toLowerCase()) > -1);
      })
    }
  }
}
从'@angular/core'导入{Component,OnInit};
从“离子角度”导入{NavParams};
从“./home/home”导入{HomePage};
从“./lista terminada/lista terminada”导入{LISTATERMINADAGE};
从“../../Data/Articulo.interface”导入{Articulo}”;
从“../../Data/Organizador”导入Organizador;
@组成部分({
选择器:“页面项目”,
templateUrl:'elegiritems.html',
})
导出类ElegiritemsPage实现OnInit{
主页=主页;
listaTerminada=ListaTerminadaPage;
listaProductos:Articulo[]=[];
productosElegidos:Articulo[]=[];
listaOrdenada:{pasillo:number,articulos:string[]}[];
nombreLista:string='';
addBoton='ios-add-circle';
remBoton='md-close';
数据列表a;
构造函数(公共navParams:navParams){
}
恩戈尼尼特(){
this.DataLista=this.navParams.data;
this.listaProductos=this.navParams.get('articulos');
this.nombreLista=this.navParams.get('listaNombre')
}
//重新设定项目的价值,降低项目的价值,并将项目的价值转化为具体的价值
ionViewCanEnter(){
this.listaOrdenada=组织机构;
this.productosElegidos=this.navParams.get('listaActiva');
这个。onActivos();
console.log(this.productosElegidos);
}
//功能是否依赖于电气产品清单
onItemSelect(articulo:articulo){
如果(articulo.estado==0){
本品(articulo);
articulo.estado=1;
返回
}
if(articulo.estado==1)
{
本品(articulo);
articulo.estado=0;
返回
}
}
//重新设置1号项目的产品和活动价格
onActivos(){
for(var i=0;this.listaProductos.length;i++){
this.listaProductos[i].estado=0;
}
对于(var x=0;this.productosElegidos.length;x++){
this.productosElegidos[x].estado=1;
}
}
//电子产品目录
ONADD产品(articulo:articulo){
控制台日志(articulo);
这个.productosElegidos.push(articulo);
console.log(this.productosElegidos);
}
//Elimina el articulo de la lista de productos elegidos
onDeleteProduct(articulo:articulo){
const position=this.productosElegidos.findIndex((articuloEl:Articulo)=>{
return articuloEl.nombre==articulo.nombre
});
此.productosElegidos.splice(位置1)
}
//修订柬埔寨电力生产部门的劳动形式
//不需要
一次检查(关节){
for(var i=0;i{
返回(item.nombre.toLowerCase().indexOf(val.toLowerCase())>-1);
})
}
}
}

这是因为您没有传递有效的导航参数,并且目标组件具有
ionViewCanEnter
,需要
listaActiva
才能让视图进入

this.navCtrl.push(this.elegirItem)中传递有效的导航参数