Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.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 变量布尔值在@Input和*ngif中不起作用_Javascript_Jquery_Angular - Fatal编程技术网

Javascript 变量布尔值在@Input和*ngif中不起作用

Javascript 变量布尔值在@Input和*ngif中不起作用,javascript,jquery,angular,Javascript,Jquery,Angular,对不起,我的英语不好,不是我的主要语言 我遇到了一个问题,在父组件中有一个布尔变量来切换语言。如果var为true或false,我的所有组件中都有2个ngif来切换语言 应用程序组件: public euskera: boolean; constructor(){ this.euskera=false; } ngOnInit(): void { } setEuskera(){ this.euskera=true; } setCas

对不起,我的英语不好,不是我的主要语言

我遇到了一个问题,在父组件中有一个布尔变量来切换语言。如果var为true或false,我的所有组件中都有2个ngif来切换语言

应用程序组件:

  public euskera: boolean;


  constructor(){
    this.euskera=false;
  }
  ngOnInit(): void {
    
  }

  setEuskera(){
    this.euskera=true;
  }

  setCastellano(){
    this.euskera=false;
  }
应用程序组件html:

<div *ngIf="euskera">
  <header id="header">
    <img id="logo" src="../assets/img/logoSoinuka.png">
      <nav id="nav">
        <ul>
  
          <li [routerLink]="['/inicio']"><a>hasiera</a></li>
          <li [routerLink]="['/sobre-nosotros']"><a>nor gara?</a></li>
          <li [routerLink]="['/proximos-eventos']"><a>hurrengo ekitaldiak</a></li>
          <li [routerLink]="['/contacto']"><a>kontaktua</a></li>
          <li (mouseenter)="mostrarLenguajes()" (mouseleave)="esconderLenguajes()"><a>Hizkuntza:<span>[</span></a></li>
        </ul>
  
      </nav>
  
  
  </header>

  <div id="language" (mouseenter)="mostrarLenguajes()" (mouseleave)="esconderLenguajes()">
    <ul>
  
      <li [routerLink]="['/inicio']" (click)="setCastellano()"><a>Gaztelania</a></li>
      <li [routerLink]="['/inicio']" (click)="setEuskera()"><a>Euskara</a></li>
    </ul>
  </div>
  <div class="son">
    <app-home [euskera]="true"></app-home>
  </div>
  
</div>


<div *ngIf="euskera==false">
  <header id="header">
    <img id="logo" src="../assets/img/logoSoinuka.png">
      <nav id="nav">
        <ul>
  
          <li [routerLink]="['/inicio']"><a>Inicio</a></li>
          <li [routerLink]="['/sobre-nosotros']"><a>¿Quienes somos?</a></li>
          <li [routerLink]="['/proximos-eventos']"><a>Proximos eventos</a></li>
          <li [routerLink]="['/contacto']"><a>Contacto</a></li>
          <li (mouseenter)="mostrarLenguajes()" (mouseleave)="esconderLenguajes()"><a>Lenguaje:<span>[</span></a></li>
        </ul>
  
      </nav>
  
  
  </header>

  <div id="language" (mouseenter)="mostrarLenguajes()" (mouseleave)="esconderLenguajes()">
    <ul>
  
      <li [routerLink]="['/inicio']" (click)="setCastellano()"><a>Castellano</a></li>
      <li [routerLink]="['/inicio']" (click)="setEuskera()"><a>Euskera</a></li>
    </ul>
  </div>
  <div class="son">
    <app-home [euskera]="false"></app-home>
  </div>
</div>




<body>
  <div id="content">
    <router-outlet></router-outlet>

  </div>
</body>
主组件html(子组件)


尤斯克
dd
此时,Ifs停止工作。对我来说,这两种检查都不起作用,既不假也不真

当我重新加载页面时,当我一开始,当通过控制台从子级输出输入值时,它会给我false(它的真实值),但在不做任何事情的情况下,它会标记为undefined

那么,如果我按下按钮来更改语言和变量的值就不再重要了,因为它不会修改子对象的文本


有人能帮我吗?谢谢使用!euskera检查值是否为null、未定义或false

<div *ngIf="euskera">
  euskara
</div>

<div *ngIf="!euskera">
 castellano
</div>

请尝试
*ngIf=“!euskera”
,因为它是
未定义的
而不是
false
@JaromandaX它的角度,sorry@elclanrs非常感谢。这对我来说是有条件的。如果是真的,我该怎么办?@Adromicfms Try
*ngIf=“euskera”
*ngIf=“euskera===true”
我尝试过,但我的输入总是返回一个未定义的值。当我手动更改值时,按下按钮不起作用,我只是这样做了,错误的部分起作用。但当我按下菜单按钮更改为true时,内容的文本不会被修改,而在控制台中收集的变量值在我看来是true。
<div *ngIf="euskera">
  euskk
</div>

<div *ngIf="euskera==false">
dd
</div>
<div *ngIf="euskera">
  euskara
</div>

<div *ngIf="!euskera">
 castellano
</div>
@Input() euskera:boolean=false