Javascript 变量布尔值在@Input和*ngif中不起作用
对不起,我的英语不好,不是我的主要语言 我遇到了一个问题,在父组件中有一个布尔变量来切换语言。如果var为true或false,我的所有组件中都有2个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
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