绑定到 css 可见性
bind to css visibility
使用 Aurelia 的 css 绑定你必须使用这个语法
<div css.bind="{visibility: someField ? 'visible':'hidden'}">
有更简洁的方法吗?
请注意,使用 show.bind
不是我想要的,因为这等同于 display:none
而我实际上想要 visibility:hidden
(因此该元素占据了它的 space 但不可见)
像这样的东西是理想的
<div visibility.bind="someField">
更简单一点的语法是:
<div css=“visibility: ${someField ? 'visible':'hidden'}”>
为了更简洁,您可以轻松创建自定义属性:
import {inject} from 'aurelia-framework';
@inject(Element)
export class VisibilityCustomAttribute {
constructor(element) {
this.element = element;
}
valueChanged(newValue) {
this.element.style.visibility = newValue ? 'visible' : 'hidden';
}
}
并像这样使用它:
<template>
<require from='./visibility-custom-attribute'></require>
<div visibility.bind="someField">
</template>
有关示例,请参阅 this GistRun。
使用 Aurelia 的 css 绑定你必须使用这个语法
<div css.bind="{visibility: someField ? 'visible':'hidden'}">
有更简洁的方法吗?
请注意,使用 show.bind
不是我想要的,因为这等同于 display:none
而我实际上想要 visibility:hidden
(因此该元素占据了它的 space 但不可见)
像这样的东西是理想的
<div visibility.bind="someField">
更简单一点的语法是:
<div css=“visibility: ${someField ? 'visible':'hidden'}”>
为了更简洁,您可以轻松创建自定义属性:
import {inject} from 'aurelia-framework';
@inject(Element)
export class VisibilityCustomAttribute {
constructor(element) {
this.element = element;
}
valueChanged(newValue) {
this.element.style.visibility = newValue ? 'visible' : 'hidden';
}
}
并像这样使用它:
<template>
<require from='./visibility-custom-attribute'></require>
<div visibility.bind="someField">
</template>
有关示例,请参阅 this GistRun。