如何取消 html 模板中的隐藏指令?
How can I negate hidden directive in html template?
在 Ionic2 组件中,我在 HTML 模板中使用了 [hidden] 指令。 @Component 定义为:
@Component({
selector: 'login-button',
template:
`<button ion-button round (click)="openLogin()" [hidden]="loggedIn">
Login
<ion-icon name="arrow-up"></ion-icon>
</button>
<button ion-button icon-only menuToggle [hidden]="!loggedIn">
<ion-icon name="menu"></ion-icon>
</button>
`
})
我声明了一个组件变量:
export class LoginButton {
loggedIn: boolean = false;
[hidden]="loggedIn"
正在运行。无论 loggedIn 变量的值如何,[hidden]="!loggedIn"
都会显示按钮。
我该怎么写?
您可以使用 *ngIf
声明。示例:
<div *ngIf = "loggedIn">
<button ion-button round (click)="openLogin()">
Login
<ion-icon name="arrow-up"></ion-icon>
</button>
</div>
<div *ngIf = "!loggedIn">
<button ion-button icon-only menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</div>
--------------> Edit
<button ion-button round (click)="openLogin()" [hidden]="hideLogin1()">
Login
<ion-icon name="arrow-up"></ion-icon>
</button>
<button ion-button icon-only menuToggle [hidden]="hideLogin2()">
<ion-icon name="menu"></ion-icon>
</button>
-----------------------------
export class LoginButton {
hideLogin1(){
return true;
}
hideLogin2(){
return false;
}
}
我可以建议你尝试第一个错误解释here吗?
另外,在Ionic2中你还可以使用showWhen
和hideWhen
(文档here),是否符合你的需要?
在 Ionic2 组件中,我在 HTML 模板中使用了 [hidden] 指令。 @Component 定义为:
@Component({
selector: 'login-button',
template:
`<button ion-button round (click)="openLogin()" [hidden]="loggedIn">
Login
<ion-icon name="arrow-up"></ion-icon>
</button>
<button ion-button icon-only menuToggle [hidden]="!loggedIn">
<ion-icon name="menu"></ion-icon>
</button>
`
})
我声明了一个组件变量:
export class LoginButton {
loggedIn: boolean = false;
[hidden]="loggedIn"
正在运行。无论 loggedIn 变量的值如何,[hidden]="!loggedIn"
都会显示按钮。
我该怎么写?
您可以使用 *ngIf
声明。示例:
<div *ngIf = "loggedIn">
<button ion-button round (click)="openLogin()">
Login
<ion-icon name="arrow-up"></ion-icon>
</button>
</div>
<div *ngIf = "!loggedIn">
<button ion-button icon-only menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
</div>
--------------> Edit
<button ion-button round (click)="openLogin()" [hidden]="hideLogin1()">
Login
<ion-icon name="arrow-up"></ion-icon>
</button>
<button ion-button icon-only menuToggle [hidden]="hideLogin2()">
<ion-icon name="menu"></ion-icon>
</button>
-----------------------------
export class LoginButton {
hideLogin1(){
return true;
}
hideLogin2(){
return false;
}
}
我可以建议你尝试第一个错误解释here吗?
另外,在Ionic2中你还可以使用showWhen
和hideWhen
(文档here),是否符合你的需要?