有条件地显示使用Aurelia的元素
Conditionally display Element using Aurelia
所以我将我的auth
类注入到我的main.js
中:
import {Auth} from 'auth';
import {inject} from 'aurelia-framework';
@inject(Auth)
export class App {
constructor(auth) {
this.auth = auth;
}
get isLoggedIn() { return this.auth.isLoggedIn; }
}
所以在我的app.html
<form>
<!-- form login elements -->
</form>
如何根据我的应用程序 getter 函数有条件地显示此元素。
您可以使用 if.bind 有条件地绑定 DOM 元素。
<form>
<div if.bind="auth.isLoggedIn">
<!--this DOM element will be bind only if auth.isLoggedIn is true-->
</div>
</form>
或者,你也可以使用 show.bind 但这只会隐藏你的 DOM 元素。好像.bind不会在您的页面上呈现它。
如果需要在不
满足条件时从标记中完全删除元素,可以使用if.bind
(如 Gajjar @Pratik回答):
<template>
<div if.bind="auth.isLoggedIn">
<!--this DOM element will be bind only if auth.isLoggedIn is true-->
</div>
</template>
如果需要有条件地设置 display: none
on 元素,可以使用show.bind
:
<template>
<div show.bind="auth.isLoggedIn">
<!--this DOM element will be shown only if auth.isLoggedIn is true-->
</div>
</template>
有关详细信息,请查看 http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/cheat-sheet/6。
所以我创建了一个值转换器:
export class CssdisplayValueConverter {
toView(value) {
return value ? 'none' : 'display';
}
}
然后在我的应用程序中.html:
<require from='css-display'></require>
<form css="display: ${isLoggedIn() | cssdisplay}"></form>
轰,完成了。
您可以使用
if.bind
和show.bind
通过检查条件来绑定元素
相关文章:
- 如何在 Aurelia(奥雷利亚)中访问自定义元素中的变量
- 当.js和.html不在同一文件夹中时,如何在Aurelia中创建自定义元素
- Aurelia-仅HTML自定义元素的内联定义
- 手动编译由 aurelia 中的其他自定义元素组成的 dom 元素
- 在 aurelia 中使用 repeat.for 绑定自定义元素的正确方法是什么
- Aurelia的需求元素包括内联的外部资源
- 将事件传递到 Aurelia 自定义元素
- 有条件地显示使用Aurelia的元素
- Aurelia:绑定文本自定义元素的内容
- aurelia自定义元素date-nifty日期选择器在更新时更新值
- Aurelia-按名称呈现自定义元素
- Aurelia-dialog在自定义元素上使用attach-focus
- 使用Aurelia's ref属性引用元素的视图模型
- 如何在Aurelia应用程序中使用外部自定义元素(插件)
- 如何在aurelia单元测试中访问DOM元素
- 从无容器自定义元素——Aurelia中获取类列表
- Aurelia组合元素视图模型,未调用configureRouter
- 如何让Aurelia在向DOM动态添加自定义元素后呈现我的视图
- Aurelia自定义元素实例创建
- 自定义元素中的Aurelia双向绑定不起作用