创建基本值转换器

虽然值转换器可以由 toViewfromView 方法组成,但在下面的示例中,我们将创建一个基本的值转换器,它只使用 toView 方法,该方法接受作为第一个参数发送到视图的值。

到 uppercase.js

export class ToUppercaseValueConverter {
    toView(value) {
        return value.toUpperCase();
    }
}

使用它:

export class MyViewModel {
    stringVal = 'this is my test string';
}
<template>
    <require from="./to-uppercase"></require>

    <h1 textContent.bind="stringVal | toUppercase"></h1>
</template>

我们标题中的一个元素的文本值应该是 THIS IS MY TEST STRING 这是因为 toView 方法接受视图中的值并指定视图应该获取我们的新值,这是使用 String.prototype.toUpperCase()

在这种情况下,类名是 ToUppercaseValueConverter,其中 ValueConverter 告诉 aurelia 它是什么(还有一种 Anotations 的方法,但我没有在互联网上找到一个例子)。因此 ValueConverter 在类名中是必需的,但是通过调用转换器,这不再是必需的,因此你只需要在 html 模板中用 toUppercase 调用转换器。